export interface UseChatComposerOptions { /** When set, composer state hydrates from the session and persists changes to it. */ sessionId?: string; /** Initial agent override for the new-session (no sessionId) case. */ defaultAgent?: string; } /** * Shared controller state for the chat input composer. * * Owns agent/provider/model selection for both the existing-session input * (hydrates from the session row, persists via session PATCH) and the * new-session input (hydrates from config defaults + agent overrides, * local-only until the session is created). */ export declare function useChatComposer({ sessionId, defaultAgent, }?: UseChatComposerOptions): { config: { agents: string[]; providers: string[]; defaults: { agent: string; provider: string; model: string; toolApproval?: "auto" | "dangerous" | "all" | "yolo"; guidedMode?: boolean; reasoningText?: boolean; reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh"; theme?: import("@ottocode/themes").ThemeId; tuiTheme?: string; vimMode?: boolean; compactThread?: boolean; fontFamily?: string; smartEdges?: boolean; threadNavigatorRail?: boolean; releaseToSend?: boolean; fullWidthContent?: boolean; notificationsEnabled?: boolean; dictationKeywords?: import("..").DictationKeyword[]; dictationExcludedProjectKeywords?: string[]; dictationSmartFormatting?: boolean; autoCompactThresholdTokens?: number | null; coAuthorCommits?: boolean; }; }; allModels: import("..").AllModelsResponse; agent: string; provider: string; model: string; agentNames: string[]; isPlanMode: boolean; modelSupportsReasoning: boolean; modelSupportsVision: boolean; modelSupportsAttachment: boolean; modelIsFree: boolean; providerAuthType: "api" | "oauth"; isCustomProvider: boolean; handleAgentChange: (value: string) => Promise; handlePlanModeToggle: (isPlanMode: boolean) => Promise; handleProviderChange: (newProvider: string) => Promise; handleModelChange: (newModel: string) => Promise; handleModelSelectorChange: (newProvider: string, newModel: string) => Promise; }; //# sourceMappingURL=useChatComposer.d.ts.map