/** The poll state of an in-flight device-flow enrollment. */ export type DeviceFlowPhase = "pending" | "authorized" | "denied" | "expired" | "disabled"; export type EnrollmentDeviceFlowProps = { /** The short user code the agent printed (shown big for the human to confirm). */ userCode: string; /** Where the user approves — the same-origin device page. */ verificationUri: string; /** The complete URI (code pre-filled) for a one-click / QR open. */ verificationUriComplete?: string | undefined; /** The install one-liner the user ran (echoed for context). Optional. */ installCommand?: string | undefined; phase?: DeviceFlowPhase | undefined; /** Seconds remaining before the code expires (drives a quiet countdown). */ expiresInSeconds?: number | undefined; onCopyCode?: (() => void) | undefined; onCopyInstall?: (() => void) | undefined; onOpenVerification?: (() => void) | undefined; className?: string | undefined; }; /** * The IN-SESSION device-flow panel: the agent (after the install one-liner) prints * a short `userCode` + a `verificationUri`; this surfaces them so the user can open * the approve page and confirm the code. Polls in the caller; this renders the * pending → authorized/denied/expired progression with a connection pill. This is * the FIRST step of the IA flow (device-flow → Machines list → attach/swap). */ export declare function EnrollmentDeviceFlow({ userCode, verificationUri, verificationUriComplete, installCommand, phase, expiresInSeconds, onCopyCode, onCopyInstall, onOpenVerification, className, }: EnrollmentDeviceFlowProps): import("react").JSX.Element;