import { z } from 'zod';
import { type Language } from '../../modules/shared-kernel/entities/language/language.schema.js';
export declare const claudeModelSchema: z.ZodEnum<{
    haiku: "haiku";
    sonnet: "sonnet";
    opus: "opus";
}>;
export type ClaudeModel = z.infer<typeof claudeModelSchema>;
declare const runtimeSettingsSchema: z.ZodObject<{
    language: z.ZodEnum<{
        en: "en";
        fr: "fr";
    }>;
    model: z.ZodEnum<{
        haiku: "haiku";
        sonnet: "sonnet";
        opus: "opus";
    }>;
    worktreeStaleThresholdHours: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
type RuntimeSettings = z.infer<typeof runtimeSettingsSchema>;
type SettingsLogger = {
    warn: (message: string) => void;
};
export declare function getDefaultSettingsPath(): string;
export declare function configureSettingsPath(path: string): void;
export declare function configureSettingsLogger(injected: SettingsLogger): void;
export declare function loadSettingsFromDisk(): Promise<void>;
export declare function getModel(): ClaudeModel;
export declare function setModel(model: ClaudeModel): Promise<void>;
export declare function getDefaultLanguage(): Language;
export declare function setDefaultLanguage(language: Language): Promise<void>;
export declare function getWorktreeStaleThresholdHours(): number;
export declare function setWorktreeStaleThresholdHours(hours: number): Promise<void>;
export declare function getSettings(): RuntimeSettings;
/**
 * Test-only helper. Resets module-level state (settings, path, logger, write queue).
 * Exposed because this module owns module-level mutable state; production code must
 * never call this. A proper fix would extract a SettingsRepository class with
 * constructor-injected dependencies; see PR #221 review for context.
 */
export declare function __resetForTestsOnly(): void;
export {};
//# sourceMappingURL=runtimeSettings.d.ts.map