/**
 * Shared JSON-file persistence for user-level credential stores.
 *
 * Both the Codex and Copilot credential modules persist a
 * `Record<providerName, Credential>` to a 0600 file under the config path
 * (e.g. ~/.config/nanocoder/). This factory owns that identical read/write
 * logic; callers layer their own credential-shaped accessors on top.
 */
export interface JsonCredentialStore<T> {
    /** Read the full store, returning {} if missing or unreadable. */
    load(): Record<string, T>;
    /** Persist the full store with 0600 permissions, creating the dir if needed. */
    write(store: Record<string, T>): void;
}
export declare function createJsonCredentialStore<T>(filename: string): JsonCredentialStore<T>;
//# sourceMappingURL=json-credential-store.d.ts.map