/** Settings stores (defaults, transport, permissions, auto-approve) the runtime reads. */
import type { Transport } from '../ai/types.js';
export declare const RUNTIME_THINKING_LEVEL: {
    readonly Off: "off";
    readonly Minimal: "minimal";
    readonly Low: "low";
    readonly Medium: "medium";
    readonly High: "high";
    readonly XHigh: "xhigh";
};
export type AgentThinkingLevel = (typeof RUNTIME_THINKING_LEVEL)[keyof typeof RUNTIME_THINKING_LEVEL];
export interface RuntimeFilesystemApprovalGrant {
    path: string;
    access: 'read' | 'write';
    scope: 'file' | 'folder';
}
export interface RuntimeRetrySettings {
    enabled: boolean;
    maxRetries: number;
    baseDelayMs: number;
    maxDelayMs: number;
}
export interface RuntimeModelFallbackConfig {
    enabled: boolean;
    fallbackModel: string;
    stripThinking: boolean;
}
export interface RuntimeErrorRecoverySettings {
    enabled: boolean;
    modelFallback?: RuntimeModelFallbackConfig;
}
export interface RuntimeDefaultsStore {
    getDefaultProvider(): string | undefined;
    getDefaultModel(): string | undefined;
    getDefaultThinkingLevel(): AgentThinkingLevel | undefined;
    setDefaultModelAndProvider(provider: string, modelId: string): void;
    setDefaultThinkingLevel(level: AgentThinkingLevel): void;
}
export interface RuntimeTransportSettingsStore {
    getSteeringMode(): 'all' | 'one-at-a-time';
    getFollowUpMode(): 'all' | 'one-at-a-time';
    getTransport(): Transport;
    getRetryEnabled(): boolean;
    setRetryEnabled(enabled: boolean): void;
    getRetrySettings(): RuntimeRetrySettings;
    getErrorRecoverySettings(): RuntimeErrorRecoverySettings;
    getToolSummariesEnabled(): boolean;
}
export interface RuntimePermissionSettingsStore {
    getDangerouslySkipRuntimePermissions(): boolean;
    getDangerouslySkipSpreadsheetPermissions(): boolean;
    getDisabledSkills(): string[];
    getFilesystemApprovals(): RuntimeFilesystemApprovalGrant[];
    getWorkspaceRoots(): string[] | undefined;
}
export interface RuntimeAutoApproveDefaultsStore {
    getAutoApproveDefault(): boolean;
    setAutoApproveDefault(value: boolean): void;
    getSessionAutoApproveDefault(): boolean | undefined;
}
export interface RuntimeReloadableSettingsStore {
    reload(): void;
}
export interface AgentSettingsStore extends RuntimeDefaultsStore, RuntimeTransportSettingsStore, RuntimePermissionSettingsStore, RuntimeAutoApproveDefaultsStore, RuntimeReloadableSettingsStore {
}
//# sourceMappingURL=agent-settings.d.ts.map