import type { IncomingMessage } from "./types.js"; export type IntegrationControlAction = "approve" | "deny" | "cancel"; export interface IntegrationControl { id: string; action: IntegrationControlAction; ownerEmail: string; orgId: string | null; requesterId: string; teamId: string; apiAppId: string | null; channelId: string; messageTs: string; runId: string | null; approvalKey: string | null; incoming: IncomingMessage; status: "pending" | "claimed" | "expired"; expiresAt: number; } export declare function _resetIntegrationControlsStoreForTests(): void; export declare function createIntegrationControl(input: { action: IntegrationControlAction; ownerEmail: string; orgId?: string | null; requesterId: string; teamId: string; apiAppId?: string | null; channelId: string; messageTs: string; runId?: string | null; approvalKey?: string | null; incoming: IncomingMessage; ttlMs?: number; }): Promise; /** Atomically bind a one-shot Slack button to its original requester/thread. */ export declare function claimIntegrationControl(input: { id: string; action: IntegrationControlAction; requesterId: string; teamId: string; apiAppId?: string; channelId: string; messageTs: string; }): Promise; //# sourceMappingURL=controls-store.d.ts.map