/** * `/settings` selector flow extracted from interactive-mode. * * Builds the SettingsSelectorComponent model from the current settings/session * state and wires its change callbacks back through a `SettingsSelectorHost` * seam. Self-mod/auto-learn validation, autonomy-preset application, autocomplete * rebuild, and the resources-hub hand-off stay host-side (shared with other * flows); interactive-mode keeps a thin wrapper building the host once. */ import type { Component, Container, EditorComponent, SelectItem, TUI } from "@caupulican/pi-tui"; import type { AgentSession } from "../../core/agent-session.ts"; import type { AutonomyMode, SelfModificationSettings, SettingsManager, SettingsScope } from "../../core/settings-manager.ts"; import type { CustomEditor } from "./components/custom-editor.ts"; import type { FooterComponent } from "./components/footer.ts"; export interface SettingsSelectorHost { readonly session: AgentSession; readonly settingsManager: SettingsManager; readonly footer: FooterComponent; readonly chatContainer: Container; readonly ui: TUI; readonly defaultEditor: CustomEditor; readonly editor: EditorComponent; hideThinkingBlock: boolean; showSelector(create: (done: () => void) => { component: Component; focus: Component; }): void; showStatus(message: string): void; showWarning(message: string): void; showError(message: string): void; getAutoLearnModelOptions(): SelectItem[]; setupAutocompleteProvider(): void; updateEditorBorderColor(): void; rebuildChatFromMessages(): Promise; validateSelfModificationSource(settings: SelfModificationSettings): string | undefined; applyAutonomyMode(mode: AutonomyMode, scope?: SettingsScope): void; validateAutoLearnModelValue(value: string | undefined): string | undefined; updateAutoLearnFooter(): void; handleResourcesHubAction(action: string): Promise; } export declare function showSettingsSelector(host: SettingsSelectorHost): void; //# sourceMappingURL=settings-selector-flow.d.ts.map