import type { SessionStateMap } from "#harness/types.js";
/** Session-state key for the parent's task index; mutable task records live in task runs. */
export declare const SESSION_TASKS_STATE_KEY = "eve.tasks";
export declare const SESSION_TASKS_STATE_VERSION = 2;
/** An entry without a join target starts its own cohort. */
export declare function getTaskCohortId(task: {
    readonly taskId: string;
    readonly cohortId?: string;
}): string;
/**
 * Reads cohort identities and settlement for workflow-side completion batching.
 * Full task validation stays in getSessionTaskIndex on the step side, so
 * the workflow bundle does not retain the task schemas and their dependencies.
 */
export declare function getSessionTaskCohorts(state: SessionStateMap | undefined): ReadonlyMap<string, {
    readonly cohortId: string;
    readonly settled: boolean;
}>;
