import type { AutonomousRun, NotificationChannelResult } from "./types.js"; export interface GatePauseNotificationInput { root: string; run: AutonomousRun; transitionKey: string; reviewArtifact: string; } export type WorkflowNotificationKind = "done" | "failed" | "qa_retry" | "critical_blocking_review"; export interface WorkflowLifecycleNotificationInput { root: string; taskId: string; kind: WorkflowNotificationKind; runId?: string; phase?: string; actor?: string; detail: string; artifact?: string; idempotencyKey?: string; } export interface NotificationTransports { postSlack?: (webhookUrl: string, body: SlackPayload) => Promise; commentOnIssue?: (issue: string, body: string) => Promise; } interface GatePauseMessage { taskId: string; taskTitle: string; transitionKey: string; reviewArtifact: string; resumeCommand: string; } interface WorkflowLifecycleMessage { taskId: string; taskTitle: string; kind: WorkflowNotificationKind; headline: string; detail: string; runId?: string; phase?: string; actor?: string; artifact?: string; } interface SlackPayload { text: string; blocks: Array<{ type: "section"; text: { type: "mrkdwn"; text: string; }; }>; } export declare function notifyGatePaused(input: GatePauseNotificationInput, transports?: NotificationTransports): Promise; export declare function notifyWorkflowLifecycle(input: WorkflowLifecycleNotificationInput, transports?: NotificationTransports): Promise; export declare function buildGatePauseMessage(input: GatePauseNotificationInput): Promise; export declare function buildWorkflowLifecycleMessage(input: WorkflowLifecycleNotificationInput): Promise; export {};