import type { TaskEntity, TaskStatus } from "./types.js";
export declare const HUMAN_GATE_STATUSES: readonly ["awaiting_review", "awaiting_policy_approval", "awaiting_external_decision"];
export type HumanGateStatus = (typeof HUMAN_GATE_STATUSES)[number];
export type HumanGateRecord = {
    owner?: string;
    requestedDecision?: string;
    reason?: string;
    enteredAt: string;
    gateKind: HumanGateStatus;
};
export declare const HUMAN_GATE_ENTER_ACTIONS: Set<string>;
export declare const HUMAN_GATE_RESUME_ACTIONS: Set<string>;
export declare function isHumanGateStatus(status: TaskStatus): status is HumanGateStatus;
export declare function humanGateStatusForEnterAction(action: string): HumanGateStatus | undefined;
export declare function readHumanGateInput(args: Record<string, unknown>): Omit<HumanGateRecord, "enteredAt" | "gateKind">;
export declare function applyHumanGateMetadata(task: TaskEntity, targetState: TaskStatus, action: string, timestamp: string, args: Record<string, unknown>): TaskEntity;
export declare function humanGateAgeMs(gate: HumanGateRecord, nowMs?: number): number;
export declare function humanGateResumeCommand(task: TaskEntity): string;
