export interface SecretStore {
    get(service: string, account: string): Promise<string | null>;
    set(service: string, account: string, value: string): Promise<void>;
    delete(service: string, account: string): Promise<void>;
    list(service: string): Promise<string[]>;
    isAvailable(): Promise<boolean>;
}
export declare class MachineKeyStore implements SecretStore {
    private filePath;
    private key;
    private cache;
    constructor(filePath: string);
    isAvailable(): Promise<boolean>;
    get(service: string, account: string): Promise<string | null>;
    set(service: string, account: string, value: string): Promise<void>;
    delete(service: string, account: string): Promise<void>;
    list(service: string): Promise<string[]>;
    private load;
    private save;
}
export declare class KeychainStore implements SecretStore {
    isAvailable(): Promise<boolean>;
    get(service: string, account: string): Promise<string | null>;
    set(service: string, account: string, value: string): Promise<void>;
    delete(service: string, account: string): Promise<void>;
    list(service: string): Promise<string[]>;
}
export declare class LibsecretStore implements SecretStore {
    isAvailable(): Promise<boolean>;
    get(service: string, account: string): Promise<string | null>;
    set(service: string, account: string, value: string): Promise<void>;
    delete(service: string, account: string): Promise<void>;
    list(service: string): Promise<string[]>;
}
export declare function detectSecretStore(configDir: string): Promise<{
    store: SecretStore;
    backendName: string;
}>;
export declare function migrateFromPlaintextConfig(configPath: string, store: SecretStore): Promise<number>;
export declare const PROVIDER_SERVICE = "com.agentgazer.provider";
export declare function loadProviderKeys(store: SecretStore): Promise<Record<string, string>>;
//# sourceMappingURL=secret-store.d.ts.map