export interface ConnectCardProps { connector: string; toolkit: string; message: string; /** Fired once the broker reports the account active — the thread retries the call. */ onConnected(): void | PromiseLike; /** * Whether this card is still the actionable ask (it belongs to the LATEST * assistant turn). 2026-07 demo feedback — the card now STAYS in the * transcript after the moment passes: a stale card whose toolkit has an * active account renders the quiet Connected record; a stale card that was * never completed renders nothing (the old no-re-offer rule — the * persistent panel covers standing management). Default true. */ live?: boolean; /** What connecting actually lets us do, in plain words ("read and send mail * as you"). Defaults to the toolkit's entry in `toolkitAccessCopy`. Never an * OAuth scope string — see that table. */ access?: string; /** Fired when the person chooses "Not now". The card collapses to a one-line * Skipped record that still offers Connect; the thread tells the agent so it * can adapt instead of waiting. */ onDeclined?(): void; } /** 04-actions §3 / 08-ui §4 — the inline connect card: a connector call ended * `connect-required`, so offer the broker's OAuth redirect in place, poll the * connection status while the user completes it, then retry the call. Follows * the approval-card pattern (same chrome, keyed to the same tool call). * The initiate → OAuth window → poll-to-active loop is `completeConnection`, * shared with the connect dock (ENG-225). * * C2 · Integration row — the sentence family the approval card opened: the * toolkit's RAW mark (no well — a 28px well with a radius cropped the Gmail M), * the proper-case name (never the raw slug), ONE quiet line carrying why we are * asking and what connecting grants, and one button. The eyebrow, the icon well * and the OAuth chip are gone; what the chip said rides that line as words. * * 2026-07 demo feedback — the full lifecycle lives ON the card: a spinner-led * "Connecting…" button while the OAuth window is open, and a permanent quiet * "Connected" record once the broker reports the account active. * * V5 — the card is a consent surface, so it answers the three questions a * consent surface owes: what this grants (the plain-words access line, never a * scope string), what happens if you say no ("Not now", which records a Skipped * line that still re-offers), and what to do when the machinery gets in the way * (a blocked popup keeps polling behind a plain link; a timed-out poll says * nothing changed). */ export declare function ConnectCard({ connector, toolkit, message, onConnected, live, access, onDeclined }: ConnectCardProps): import("react").JSX.Element | null;