import type { CodexProfileData, CodexProfileMetadata } from './types';
export declare class CodexProfileRegistryReadError extends Error {
    constructor(message: string);
}
export declare function validateCodexProfileRegistryData(parsed: unknown): CodexProfileData;
/**
 * Registry for codex auth profiles stored at ~/.ccs/codex-profiles.yaml.
 *
 * Writes are guarded by a registry-directory lock around the read-modify-write
 * cycle, then persisted atomically with tmp file + POSIX rename.
 *
 * Constructor accepts an optional registryPath for test isolation.
 */
export declare class CodexProfileRegistry {
    private readonly registryPath;
    constructor(registryPath?: string);
    private _read;
    private _write;
    private _withRegistryWriteLock;
    private _cleanOrphanTmpFiles;
    createProfile(name: string, meta?: Partial<CodexProfileMetadata>): void;
    getProfile(name: string): CodexProfileMetadata;
    updateProfile(name: string, partial: Partial<CodexProfileMetadata>): void;
    removeProfile(name: string, options?: {
        forceDefault?: boolean;
    }): void;
    listProfiles(): string[];
    hasProfile(name: string): boolean;
    getDefault(): string | null;
    setDefault(name: string): void;
    clearDefault(): void;
    touchProfile(name: string): void;
}
//# sourceMappingURL=codex-profile-registry.d.ts.map