import type { ChorusConfigFile, LegacyChorusConfigFileV1, ChorusPreset, ChorusResult, ModelInfo } from "./types.js"; export declare const CONFIG_VERSION: 2; export declare const CONFIG_V2_OPTIONAL_DEFAULTS: { readonly includeSessionHistory: false; readonly voiceTimeoutMs: 1800000; readonly conductorTimeoutMs: 1800000; }; export declare const HISTORY_WARNING_BYTES: number; export declare const HISTORY_MAX_ENTRIES = 1000; export declare const HISTORY_PRUNE_TARGET_ENTRIES = 900; export interface StorePaths { baseDir?: string; configPath?: string; historyPath?: string; jobsPath?: string; } export declare function defaultStoreDir(): string; export declare function resolveStorePaths(paths?: StorePaths): Required; export declare function configExists(paths?: StorePaths): Promise; export declare function loadConfig(paths?: StorePaths, registry?: ModelInfo[]): Promise; export declare function loadConfigUnchecked(paths?: StorePaths): Promise; export declare function migrateConfigV1(config: LegacyChorusConfigFileV1): ChorusConfigFile; export declare function saveConfig(config: ChorusConfigFile, paths?: StorePaths, registry?: ModelInfo[]): Promise; export declare function savePresets(activePresetName: string, presets: ChorusPreset[], paths?: StorePaths, registry?: ModelInfo[]): Promise; export declare function appendHistory(result: ChorusResult, paths?: StorePaths): Promise; export declare function pruneHistory(paths?: StorePaths, maxEntries?: number): Promise; export declare function readHistory(paths?: StorePaths, onEntry?: (entry: ChorusResult) => void): Promise<{ entries: ChorusResult[]; corruptLines: number; }>; export declare function loadJsonFile(path: string, fallback: T): Promise; export declare function saveJsonFile(path: string, value: unknown): Promise; export declare function bootstrapConfigIfAbsent(args: { paths?: StorePaths; registry: ModelInfo[]; computePresets: (registry: ModelInfo[]) => ChorusPreset[]; }): Promise; export declare function withFileMutationQueue(path: string, work: () => Promise): Promise;