import type { TaskDeliveryPolicy, DeliverHookPayload } from "#channel/types.js";
import type { SessionStateMap, StepInput } from "#harness/types.js";
export declare const TASK_DELIVERY_CONTEXT_LABEL = "[Task state]";
export declare const TASK_DELIVERY_INITIATING_INSTRUCTION = "Background task reporting: launch acknowledgement\nThe latest [Task state] message is runtime-authored and lists background tasks accepted so far from the current turn. They continue independently after this turn.\n\nContinue carrying out the user's request, including starting any remaining background work. When no further tool calls are needed in this turn, send one brief user-facing acknowledgement that the background work has started. Do not wait for results or report results that are not available yet. End the turn after the acknowledgement.";
export declare const TASK_DELIVERY_SETTLED_INSTRUCTION = "Background task reporting\nFor this background-task update, the accompanying [Task state] message is runtime-authored and lists the settled tasks in this cohort and their available terminal outputs. Report their useful results together in one user-facing response without repeating results already reported. Do not reply with <eve-empty-delivery/>.";
export declare const TASK_DELIVERY_AUTO_INSTRUCTION = "Background task reporting\nFor this background-task update, the accompanying [Task state] message is runtime-authored and lists the whole cohort, including pending tasks and every available terminal output. A received result has not necessarily been reported to the user. Report new results only when they are useful independently of unfinished work. When that work settles, combine its results with any previously withheld results. If there is nothing new and useful to report, reply with exactly <eve-empty-delivery/>. Do not repeat results already reported or send an acknowledgement just to say you are waiting.";
type BackgroundTaskDelivery = DeliverHookPayload & {
    readonly taskDeliveryId: string;
};
/** Returns task delivery provenance when a child task wakes its parent. */
export declare function getBackgroundTaskDelivery(input: unknown): BackgroundTaskDelivery | undefined;
/** Marks a task-produced user message before the harness coalesces delivery results. */
export declare function markBackgroundTaskStepInput(input: StepInput): StepInput;
/** Projects the report group without changing the delivered task's activity root. */
export declare function resolveTaskDeliveryContext(input: {
    readonly state: SessionStateMap | undefined;
    readonly taskDeliveryIds: readonly string[];
    readonly taskDeliveryPolicy: TaskDeliveryPolicy;
}): {
    readonly context: string;
    readonly phase: "pending" | "settled";
    readonly rootTurnId: string;
} | undefined;
/** Returns model context for durable tasks launched by the active parent turn. */
export declare function resolveInitiatingTaskContext(input: {
    readonly state: SessionStateMap | undefined;
    readonly turnId: string;
}): {
    readonly context: string;
    readonly phase: "initiating";
} | undefined;
export {};
