import { type SqlFragment } from "../db/sql.js"; import type { TaskState } from "./types.js"; export declare const a2aTaskMachine: import("../state-machine/index.js").SqlMachine<"canceled" | "completed" | "failed" | "input-required" | "processing" | "submitted" | "working", "cancel" | "claimForProcessing" | "completeApproval" | "completeProcessing" | "failApproval" | "failProcessing" | "failStale" | "failStuckProcessing" | "failStuckQueued" | "overwriteAsCanceled" | "overwriteAsCompleted" | "overwriteAsFailed" | "overwriteAsInputRequired" | "overwriteAsProcessing" | "overwriteAsSubmitted" | "overwriteAsWorking" | "requireInput" | "resumeAfterApproval" | "retryStuck">; export declare const a2aApprovalMachine: import("../state-machine/index.js").SqlMachine<"completed" | "failed" | "pending" | "processing", "claim" | "complete" | "fail" | "reclaim">; export type A2ATaskStatus = (typeof a2aTaskMachine.states)[number]; export type A2ATaskEvent = (typeof a2aTaskMachine.events)[number]; export type A2AApprovalStatus = (typeof a2aApprovalMachine.states)[number]; export type A2AApprovalEvent = (typeof a2aApprovalMachine.events)[number]; type Mutual = [A] extends [B] ? ([B] extends [A] ? true : false) : false; export declare const taskStatesMatchTaskState: Mutual; /** Bound source states for an event's `IN` predicate. */ export declare function taskIn(event: A2ATaskEvent): SqlFragment; /** Bound state value for the state an event lands in. */ export declare function taskTarget(event: A2ATaskEvent): SqlFragment; /** Bound state value for single-state WHERE and SELECT predicates. */ export declare function taskSql(state: A2ATaskStatus): SqlFragment; export declare function approvalIn(event: A2AApprovalEvent): SqlFragment; export declare function approvalTarget(event: A2AApprovalEvent): SqlFragment; export declare function approvalSql(state: A2AApprovalStatus): SqlFragment; export {};