import type { Language, PartDefinition } from '../core/models/types.js';
import type { ProviderType } from '../core/workflow/types.js';
import { type RunAgentOptions, type StreamCallback } from './runner.js';
export interface DecomposeTaskOptions {
    cwd: string;
    persona?: string;
    personaPath?: string;
    language?: Language;
    model?: string;
    provider?: ProviderType;
    resolvedModel?: string;
    resolvedProvider?: ProviderType;
    onStream?: StreamCallback;
    workflowMeta?: RunAgentOptions['workflowMeta'];
    onPromptResolved?: (promptParts: {
        systemPrompt: string;
        userInstruction: string;
    }) => void;
}
export interface MorePartsResponse {
    done: boolean;
    reasoning: string;
    parts: PartDefinition[];
}
export declare const TEAM_LEADER_MAX_TURNS = 5;
export declare function decomposeTask(instruction: string, maxParts: number, options: DecomposeTaskOptions): Promise<PartDefinition[]>;
export declare function requestMoreParts(originalInstruction: string, allResults: Array<{
    id: string;
    title: string;
    status: string;
    content: string;
}>, existingIds: string[], maxAdditionalParts: number, options: DecomposeTaskOptions): Promise<MorePartsResponse>;
//# sourceMappingURL=decompose-task-usecase.d.ts.map