import { SmrtObject } from '@happyvertical/smrt-core'; /** * CLI auth request lifecycle states. */ export type CliAuthRequestStatus = 'pending' | 'approved' | 'consumed' | 'expired'; export declare class UsersCliAuthRequest extends SmrtObject { /** * Short, human-typeable code the user enters in the browser to approve the session. * * Indexed: `findByUserCode()` looks requests up by this column (#2364, * epic #2382 finding A3). */ userCode: string; /** * SHA-256 hash of the long device code the CLI keeps secret. * * Indexed: `findByDeviceCodeHash()` — the CLI's poll loop — looks requests * up by this column (#2364, epic #2382 finding A3). */ deviceCodeHash: string; /** Lifecycle state — `pending` → `approved` → `consumed`, or `expired`. */ status: CliAuthRequestStatus; /** User id of the human who approved the request (set on approval). */ userId: string | null; /** Tenant id captured from the approving session (set on approval). */ tenantId: string | null; /** Session id minted on approval; cleared by the winning single-use exchange. */ sessionId: string | null; /** * When the pending request stops accepting approvals. * * Indexed: `deleteExpired()` — and the retention sweep that now schedules * it (#2375) — scans this column on every pass. */ expiresAt: Date; /** When approval happened — null while the request is still pending. */ approvedAt: Date | null; } export { UsersCliAuthRequest as CliAuthRequest }; //# sourceMappingURL=CliAuthRequest.d.ts.map