import type { HarnessSession as RuntimeSession } from "#harness/types.js";
import type { BackgroundTask } from "#execution/tasks/parent/delegate.js";
import { type TaskExecutorCancel } from "#execution/tasks/parent/task-cancel.js";
import type { RuntimeActionResult, RuntimeToolCallActionRequest } from "#shared/action-types.js";
import type { SessionTaskIndexEntry } from "#tasks/session-index.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;
    readonly pendingTask?: BackgroundTask;
}>;
/** Commits cancellation, then stops task-owned child work and its lifecycle run. */
export declare function cancelOwnedTask(input: {
    readonly cancelOwnedWork?: TaskExecutorCancel;
    readonly entry: SessionTaskIndexEntry;
    readonly serializedContext?: Record<string, unknown>;
    readonly session?: RuntimeSession;
}): Promise<TaskView>;
