import { type AutomationId, type TriggerSource } from "../../../core/index.js"; export interface ThreadAutomationConsentProps { automationId: AutomationId; name: string; enabled: boolean; when?: TriggerSource; action?: string; rules?: string[]; description?: string; /** The wire part's creation-time count. The live feed supersedes it once it * has answered — the part is a snapshot, and "waiting on N" must fall to * zero the moment the person grants (on any surface). */ pendingGrants?: number; } /** * The in-thread automation card as the ARMING consent surface (#1090). * * The overlay's conversation does not survive a page navigation (field: * linkwarden 2026-08-09), so a separate automations page structurally cannot * carry the arming decision — the asks must be decidable where the person * already is, on the card the arming itself raised. The asks ride the DURABLE * approvals feed, never the stream: reload-safe, live, and decided through * the same client path the workspace panel uses, so either surface's decision * settles the other (client.approvals.decide announces, both refresh). */ export declare function ThreadAutomationConsent(props: ThreadAutomationConsentProps): import("react").JSX.Element;