import type { ModelSlots } from '../../agent/session/model-slots.js'; import type { AgentModelInput } from '../../agent/types.js'; import type { PermissionMode } from '../../agent/types/sdk-types.js'; import type { RawHooksConfig } from '../../agent/hooks/config-loader.js'; import type { ImportFromConfig, ImportSourceBinary } from '../../config/import-sources.js'; export interface AutoRoutingConfig { interactive?: boolean; chat?: boolean; telegram?: boolean; daemon?: boolean; } export interface CliConfig { apiKey?: string; baseUrl?: string; model: AgentModelInput; models?: ModelSlots; maxTokens: number; temperature?: number; openaiBaseUrl?: string; systemPrompt?: string; systemPromptSource?: string; shadowedAfkMdPaths?: string[]; permissionMode?: PermissionMode; autoRouting?: AutoRoutingConfig; daemon?: { task?: string; taskId?: string; worktreePrune?: { enabled: boolean; cron: string; maxAgeDaysClean: number; maxAgeDaysDirty: number; scope: string; }; verifyDone?: boolean; }; telegram?: { notify?: { mode?: 'primary' | 'broadcast' | 'custom'; primaryChatId?: number; targets?: number[]; }; verifyDone?: boolean; tagOnlyChats?: number[]; chatAliases?: Record; }; interactive?: { worktreeAutoname?: boolean; worktreeBranchPrefix?: string; worktreeBase?: string; worktreeOnExit?: 'ask' | 'keep' | 'remove'; suggestGhost?: boolean; thinkingUi?: 'summary' | 'live' | 'digest' | 'off'; }; updatePolicy: 'notify' | 'auto' | 'off'; theme?: 'dark' | 'light' | 'umber' | 'auto'; autoResumeOnUsageLimit?: boolean; enforceDoneEvidence?: boolean; bgSummaries?: boolean; maxSummaryCallsPerSession?: number; hooks?: RawHooksConfig; enableShellHooks?: boolean; enablePluginHooks?: boolean; importFrom?: ImportFromConfig; } export interface ModelSlotConfigEntry { id?: string; name?: string; provider?: string; baseUrl?: string; apiKey?: string; } export interface ConfigFileSchema { model?: string; models?: { small?: string | ModelSlotConfigEntry; medium?: string | ModelSlotConfigEntry; large?: string | ModelSlotConfigEntry; }; maxTokens?: number; temperature?: number; systemPrompt?: string; permissionMode?: string; autoRouting?: { interactive?: boolean; chat?: boolean; telegram?: boolean; daemon?: boolean; }; daemon?: { task?: string; taskId?: string; worktreePrune?: { enabled?: boolean; cron?: string; maxAgeDaysClean?: number; maxAgeDaysDirty?: number; scope?: string; }; verifyDone?: boolean; }; telegram?: { notify?: { mode?: 'primary' | 'broadcast' | 'custom'; primaryChatId?: number; targets?: number[]; }; verifyDone?: boolean; tagOnlyChats?: number[]; chatAliases?: Record; }; interactive?: { worktreeAutoname?: boolean; worktreeBranchPrefix?: string; worktreeBase?: string; worktreeOnExit?: 'ask' | 'keep' | 'remove'; suggestGhost?: boolean; thinkingUi?: 'summary' | 'live' | 'digest' | 'off'; }; updatePolicy?: 'notify' | 'auto' | 'off'; theme?: 'dark' | 'light' | 'umber' | 'auto'; autoResumeOnUsageLimit?: boolean; enforceDoneEvidence?: boolean; bgSummaries?: boolean; maxSummaryCallsPerSession?: number; hooks?: RawHooksConfig; enableShellHooks?: boolean; enablePluginHooks?: boolean; importFrom?: Partial>; } export declare const DEFAULT_CONFIG: Omit; export declare const DEFAULT_CLI_PERMISSION_MODE: PermissionMode;