import * as nodeFs from "node:fs";
import { type ProviderId } from "./providers.js";
export type Provider = ProviderId;
export type { ProviderId } from "./providers.js";
export interface KeyMetadata {
    stored: boolean;
    updatedAt: string | null;
}
export interface ListKeysResponse {
    anthropic: KeyMetadata;
    openai: KeyMetadata;
    openrouter: KeyMetadata;
}
export interface Logger {
    warn: (msg: string) => void;
    error: (msg: string) => void;
}
interface FsFacade {
    writeFileSync: typeof nodeFs.writeFileSync;
    renameSync: typeof nodeFs.renameSync;
    chmodSync: typeof nodeFs.chmodSync;
    readFileSync: typeof nodeFs.readFileSync;
    existsSync: typeof nodeFs.existsSync;
    unlinkSync: typeof nodeFs.unlinkSync;
    mkdirSync: typeof nodeFs.mkdirSync;
    statSync: typeof nodeFs.statSync;
}
export declare function getKeysFilePath(): string;
export declare function redactKey(key: string): string;
export declare function saveKey(provider: ProviderId, key: string): Promise<{
    updatedAt: string;
}>;
export declare function readKey(provider: ProviderId): string | null;
export declare function readKeySync(provider: ProviderId): string | null;
export declare function hasKeySync(provider: ProviderId): boolean;
export declare function removeKey(provider: ProviderId): Promise<void>;
export declare function listKeys(): ListKeysResponse;
export declare function mergeStoredKeysIntoEnv(): void;
export interface ResetOptions {
    logger?: Logger;
    fs?: FsFacade;
    configDir?: string | null;
}
export declare function resetSettingsStore(opts?: ResetOptions): void;
