import type { OpenTaskListOptions, TaskList, Tasks } from "../../../task-list/dist/index.js";
import type { HumanInLoopPending, HumanInLoopRuntimeOptions } from "./types.js";
export interface ApprovalPayload {
    approvalId?: string;
    commandPath: string;
    params: Record<string, unknown>;
    message: string;
    declineInputPrompt?: string | null;
    enqueuedAt?: string;
    pid?: number | null;
    result?: unknown;
    error?: unknown;
}
export declare function ensureApprovalList(runtimeOptions: HumanInLoopRuntimeOptions | undefined, deps?: {
    create?: boolean;
    openTaskList?: (options: OpenTaskListOptions) => Promise<TaskList>;
}): Promise<{
    taskList: TaskList;
    listName: string;
    tasks: Tasks;
}>;
export declare function enqueueApproval(ctx: {
    tasks: Tasks;
    payload: ApprovalPayload;
}): Promise<{
    approvalId: string;
    pending: HumanInLoopPending;
}>;
export declare function loadApproval(ctx: {
    tasks: Tasks;
    approvalId: string;
}): Promise<ApprovalPayload | undefined>;
