/** * [WHO]: SettingsConfig, SettingsCallbacks, SettingsSelectorComponent * [FROM]: Depends on ../theme/theme.js, ./dynamic-border.js * [TO]: Consumed by modes/interactive/components/index.ts * [HERE]: modes/interactive/components/settings-selector.ts - */ import type { ThinkingLevel } from "@catui/agent-core"; import type { Transport } from "@catui/ai/types"; import { Container, SettingsList } from "@catui/tui"; type AgentLoopFrameworkSettingValue = "model-default" | "standard" | "weak-model-compatible"; export interface SettingsConfig { autoCompact: boolean; showImages: boolean; autoResizeImages: boolean; blockImages: boolean; enableSkillCommands: boolean; steeringMode: "all" | "one-at-a-time"; followUpMode: "all" | "one-at-a-time"; transport: Transport; agentLoopFramework: AgentLoopFrameworkSettingValue; thinkingLevel: ThinkingLevel; availableThinkingLevels: ThinkingLevel[]; currentTheme: string; availableThemes: string[]; hideThinkingBlock: boolean; collapseChangelog: boolean; doubleEscapeAction: "fork" | "tree" | "none"; showHardwareCursor: boolean; editorPaddingX: number; autocompleteMaxVisible: number; quietStartup: boolean; clearOnShrink: boolean; showTokenStats: boolean; buddyEnabled: boolean; buddySpecies: number; showWorkingTrace: boolean; showMemoryTrace: boolean; presenceEnabled: boolean; nextStepEnabled: boolean; } export interface SettingsCallbacks { onAutoCompactChange: (enabled: boolean) => void; onShowImagesChange: (enabled: boolean) => void; onAutoResizeImagesChange: (enabled: boolean) => void; onBlockImagesChange: (blocked: boolean) => void; onEnableSkillCommandsChange: (enabled: boolean) => void; onSteeringModeChange: (mode: "all" | "one-at-a-time") => void; onFollowUpModeChange: (mode: "all" | "one-at-a-time") => void; onTransportChange: (transport: Transport) => void; onAgentLoopFrameworkChange: (framework: AgentLoopFrameworkSettingValue) => void; onThinkingLevelChange: (level: ThinkingLevel) => void; onThemeChange: (theme: string) => void; onThemePreview?: (theme: string) => void; onHideThinkingBlockChange: (hidden: boolean) => void; onCollapseChangelogChange: (collapsed: boolean) => void; onDoubleEscapeActionChange: (action: "fork" | "tree" | "none") => void; onShowHardwareCursorChange: (enabled: boolean) => void; onEditorPaddingXChange: (padding: number) => void; onAutocompleteMaxVisibleChange: (maxVisible: number) => void; onQuietStartupChange: (enabled: boolean) => void; onClearOnShrinkChange: (enabled: boolean) => void; onShowTokenStatsChange: (enabled: boolean) => void; onBuddyEnabledChange: (enabled: boolean) => void; onBuddySpeciesChange: (species: number) => void; onShowWorkingTraceChange: (enabled: boolean) => void; onShowMemoryTraceChange: (enabled: boolean) => void; onPresenceEnabledChange: (enabled: boolean) => void; onNextStepEnabledChange: (enabled: boolean) => void; onCancel: () => void; } /** * Main settings selector component. */ export declare class SettingsSelectorComponent extends Container { private settingsList; constructor(config: SettingsConfig, callbacks: SettingsCallbacks); getSettingsList(): SettingsList; } export {};