import type { HarnessSession as RuntimeSession } from "#harness/types.js";
import { type BackgroundWorkflowToolRun } from "#harness/workflow-tool-runs.js";
import { type TaskExecutorCancel } from "#execution/tasks/parent/task-cancel.js";
import type { RuntimeActionResult, RuntimeToolCallActionRequest } from "#shared/action-types.js";
import { type TaskView } from "#tasks/types.js";
export declare function isTaskControlAction(action: RuntimeToolCallActionRequest): boolean;
export declare function executeTaskControlAction(input: {
    readonly action: RuntimeToolCallActionRequest;
    readonly cancelOwnedWork?: TaskExecutorCancel;
    readonly serializedContext?: Record<string, unknown>;
    readonly session: RuntimeSession;
}): Promise<{
    readonly result: RuntimeActionResult;
    readonly session: RuntimeSession;
}>;
/** Cancels task-owned work; the caller records the outcome in the parent session. */
export declare function cancelOwnedTask(input: {
    readonly cancelOwnedWork?: TaskExecutorCancel;
    readonly entry: BackgroundWorkflowToolRun;
    readonly serializedContext?: Record<string, unknown>;
    readonly session?: RuntimeSession;
}): Promise<TaskView>;
