// Settings types — shared key definitions and map type

/** Well-known setting keys used across the application */
export enum SettingKey {
  // Appearance
  Theme = 'theme',
  UiFontFamily = 'ui_font_family',
  UiFontSize = 'ui_font_size',
  TermFontFamily = 'term_font_family',
  TermFontSize = 'term_font_size',

  // Defaults
  DefaultShell = 'default_shell',
  DefaultCwd = 'default_cwd',

  // Agent
  PermissionMode = 'permission_mode',
  SystemPromptTemplate = 'system_prompt_template',
  ProviderSettings = 'provider_settings',

  // Layout
  SidebarWidth = 'sidebar_width',
  SidebarCollapsed = 'sidebar_collapsed',
}

/** Flat key-value settings map (all values are strings) */
export type SettingsMap = Record<string, string>;
