import type { DecompositionVote, SetupAgentsTaskRecord, SetupAgentsTaskType, WorkflowRunRecord } from '../types/index.js';
export type DecompositionState = {
    taskId: string;
    taskType: SetupAgentsTaskType;
    votes: DecompositionVote[];
    consensus: 'pending' | 'proceed' | 'decompose';
    pendingVoter?: 'ba' | 'ta';
    suggestedSplits: string[];
};
export type DecompositionResult = {
    state: DecompositionState;
    task: SetupAgentsTaskRecord;
};
export declare function recordDecompositionVote(cwd: string, taskId: string, vote: DecompositionVote): DecompositionResult;
export declare function getDecompositionState(cwd: string, taskId: string): DecompositionState;
export declare function createSubtask(cwd: string, parentId: string, subtaskId: string, summary: string, roles?: {
    required: string[];
    optional: string[];
}): SetupAgentsTaskRecord;
export declare function isDecompositionRequired(run: WorkflowRunRecord): boolean;
