import { Command } from "commander"; /** One readable domain. Unreadable domains are never named by the server. */ export interface StatusDomain { domain: string; query_access?: string; data_sources?: string; knowledge_base?: string; } /** * The status payload. Every field is optional on the client side: the server * model may add fields (FC-4), and a renderer that throws on a missing key would * turn a forward-compatible response into a hard failure. */ export interface EffectiveStatus { identity?: { user_id?: string; org_id?: string; org_role?: string | null; }; profile?: { id?: string | null; name?: string | null; mode?: string | null; not_migrated?: boolean; }; domains?: StatusDomain[]; /** FC-4: extensible keyed object - unknown keys are passed through, never fatal. */ special_scopes?: Record; summary?: { inaccessible_domain_count?: number; }; policy?: { version?: number | null; evaluated_at?: string; max_cache_age_seconds?: number; allow_direct_warehouse?: boolean; }; advisory?: string; [key: string]: unknown; } export declare const DOMAIN_COLUMNS: string[]; /** Readable-domain rows for the table view. Tolerates a missing/!array field. */ export declare function statusDomainRows(status: EffectiveStatus): StatusDomain[]; /** * Human summary lines shared by the table and styled views: identity, profile, * domain counts, the Templates scope, warehouse access, and policy freshness. * Renders only what the server sent - it never infers a capability the response * did not state, and hidden domains stay a count. */ export declare function statusLines(status: EffectiveStatus): string[]; export declare function registerStatusCommand(program: Command): void;