import type { AgentModelInput, OutputEvent, PermissionMode } from '../types.js'; import type { AgentConfig } from '../types.js'; import type { ProviderQuery } from '../provider.js'; import type { SessionStateManager } from './session-state.js'; import type { PlanExitBridge } from './plan-exit-bridge.js'; export interface ConfigDeps { getConfig: () => AgentConfig; setConfig: (patch: (prev: AgentConfig) => AgentConfig) => void; getProviderQuery: () => ProviderQuery; getStateManager: () => SessionStateManager; getPlanExit: () => PlanExitBridge; pushSidebandEvent: (event: OutputEvent) => void; } export declare function setModel(model: AgentModelInput | undefined, deps: ConfigDeps): Promise; export declare function setPermissionMode(mode: PermissionMode, deps: ConfigDeps): Promise; export declare function setSystemPrompt(basePrompt: string | undefined, deps: ConfigDeps): boolean; export declare function setCwd(cwd: string, deps: ConfigDeps): void; export declare function reauth(deps: ConfigDeps): Promise<{ accountId: string; swapped: boolean; } | null>; export declare function takePendingPlanExitSeed(deps: ConfigDeps): Promise<{ message: string; mode: PermissionMode; } | undefined>;