/**
 * Dashboard service for codex-auth profile summary.
 *
 * Reads the profile registry, decodes each profile's auth.json JWT,
 * resolves the active profile via env precedence, and returns the
 * API response shape for GET /api/codex/profiles.
 *
 * Security: tokens NEVER appear in the returned object. Only display-safe
 * fields (email, plan, accountId) are extracted from JWT. auth.json is
 * read/decoded and then discarded.
 *
 * Cache: 5-second in-memory cache reduces full registry/auth reads during
 * dashboard polling, but each call still stats the registry so corruption or
 * edits are surfaced immediately instead of serving stale success.
 */
export interface CodexAuthProfileEntry {
    name: string;
    codexHome: string;
    email: string | null;
    plan: string | null;
    accountId: string | null;
    lastUsed: string | null;
    authValid: boolean;
}
export interface CodexAuthActiveProfile {
    name: string | null;
    source: 'default' | 'env' | 'explicit-codex-home';
    codexHome: string;
}
export interface CodexAuthProfilesSummary {
    active: CodexAuthActiveProfile | null;
    default: string | null;
    profiles: CodexAuthProfileEntry[];
}
/**
 * Invalidate the in-process cache so the next call re-reads from disk.
 * Useful for Phase 2 CLI commands running in the same process as the dashboard.
 * Out-of-process invocations rely on the 5s TTL.
 */
export declare function invalidateCodexAuthProfilesCache(): void;
/**
 * Returns the codex-auth profiles summary, using a 5s in-memory cache.
 * Tokens are never included in the returned object.
 */
export declare function getCodexAuthProfilesSummary(): Promise<CodexAuthProfilesSummary>;
//# sourceMappingURL=codex-auth-dashboard-service.d.ts.map