import type { ProviderId, ReasoningEffortLevel } from './types.js';
import type { ProfileName } from '../config.js';
export interface PersistedModelPreference {
    provider: ProviderId;
    model: string;
    temperature?: number;
    maxTokens?: number;
    reasoningEffort?: ReasoningEffortLevel;
}
/**
 * Feature flags for optional experimental features
 */
export interface FeatureFlags {
    alphaZeroDual?: boolean;
    verification?: boolean;
    autoCompact?: boolean;
    mcpEnabled?: boolean;
    metrics?: boolean;
    codingTools?: boolean;
    securityTools?: boolean;
    allPlugins?: boolean;
}
export interface ToolSettings {
    enabledTools: string[];
}
export type ThinkingMode = 'balanced' | 'extended';
export type CriticalApprovalMode = 'auto' | 'approval';
export interface SessionPreferences {
    autosave: boolean;
    autoResume: boolean;
    autoContinue: boolean;
    autoUpdate: boolean | null;
    lastSessionId: string | null;
    thinkingMode: ThinkingMode;
    criticalApprovalMode: CriticalApprovalMode;
}
export declare function loadActiveProfilePreference(): ProfileName | null;
export declare function saveActiveProfilePreference(profile: ProfileName): void;
export declare function clearActiveProfilePreference(): void;
export declare function loadModelPreference(profile: ProfileName): PersistedModelPreference | null;
export declare function saveModelPreference(profile: ProfileName, preference: PersistedModelPreference): void;
export declare function loadToolSettings(): ToolSettings | null;
export declare function saveToolSettings(settings: ToolSettings): void;
export declare function clearToolSettings(): void;
export declare function loadSessionPreferences(): SessionPreferences;
export declare function saveSessionPreferences(preferences: Partial<SessionPreferences>): void;
/**
 * Default feature flags - AlphaZero dual-agent competition is ON by default.
 * User can disable via /features command if needed.
 */
export declare const DEFAULT_FEATURE_FLAGS: FeatureFlags;
/**
 * Load feature flags from settings
 */
export declare function loadFeatureFlags(): FeatureFlags;
/**
 * Save feature flags to settings
 */
export declare function saveFeatureFlags(flags: FeatureFlags): void;
/**
 * Toggle a single feature flag
 */
export declare function toggleFeatureFlag(key: keyof FeatureFlags, value?: boolean): FeatureFlags;
/**
 * Feature flag descriptions for help/display
 */
export declare const FEATURE_FLAG_INFO: Record<keyof FeatureFlags, {
    label: string;
    description: string;
}>;
//# sourceMappingURL=preferences.d.ts.map