import type { SKYKOIConfig } from "./types.js";
type WarnState = {
    warned: boolean;
};
export type SessionDefaultsOptions = {
    warn?: (message: string) => void;
    warnState?: WarnState;
};
export declare function applyMessageDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
export declare function applySessionDefaults(cfg: SKYKOIConfig, options?: SessionDefaultsOptions): SKYKOIConfig;
export declare function applyTalkApiKey(config: SKYKOIConfig): SKYKOIConfig;
export declare function applyModelDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
export declare function applyKoiDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
export declare function applyLoggingDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
export declare function applyContextPruningDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
export declare function applyCompactionDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
/**
 * Apply the full defaults pipeline in canonical order.
 * Use this everywhere instead of manually chaining individual apply* functions
 * to prevent pipeline drift between code paths (loadConfig, tryRestoreConfigFromBackup,
 * readConfigFileSnapshot, validateConfigObject).
 */
export declare function applyAllDefaults(cfg: SKYKOIConfig): SKYKOIConfig;
export declare function resetSessionDefaultsWarningForTests(): void;
export {};
