export declare function globalOpenLoreConfigPath(): string; export declare class ConfigFileReadError extends Error { readonly configPath: string; constructor(configPath: string, detail: string, cause?: unknown); } export declare function readConfigObject(path: string): Promise | null>; export declare function readConfigObjectSync(path: string): Record | null; /** Merge object fields; a project array, scalar or null replaces the user value. */ export declare function mergeConfigLayers(defaults: Record, project: Record): Record; /** * True when `value` at dotted `field` is the one the user-wide config sets. Such a value * is user-authored, so repository trust checks do not apply to it. Fail-closed. */ export declare function isUserConfiguredValue(field: string, value: unknown): boolean; /** * Blocks whose user `apiKey` the merge withholds because the project chose its own endpoint * for them. Pure; callers report it, so a key that silently stops being sent has a reason. */ export declare function withheldUserCredentials(user: Record, project: Record): string[]; export declare function readLayeredConfig(projectPath: string, builtInDefaults?: Record, onWithheldCredential?: (block: string, userPath: string) => void): Promise | null>; /** Background auto-init has synchronous suppression checks; share the same merge. */ export declare function readLayeredConfigSync(projectPath: string): Record | null; //# sourceMappingURL=config-layers.d.ts.map