import type { WorkflowRule, PartDefinition } from '../../core/models/types.js';
import { type EvaluateConditionOptions, type JudgeStatusOptions, type JudgeStatusResult } from '../judge-status-usecase.js';
import type { DecomposeTaskOptions, MorePartsResponse } from '../decompose-task-usecase.js';
import type { StructuredCaller } from './contracts.js';
export declare const RETRY_DELAY_MS = 1000;
export declare class PromptBasedStructuredCaller implements StructuredCaller {
    judgeStatus(structuredInstruction: string, tagInstruction: string, rules: WorkflowRule[], options: JudgeStatusOptions): Promise<JudgeStatusResult>;
    evaluateCondition(agentOutput: string, conditions: Array<{
        index: number;
        text: string;
    }>, options: EvaluateConditionOptions): Promise<number>;
    decomposeTask(instruction: string, maxParts: number, options: DecomposeTaskOptions): Promise<PartDefinition[]>;
    requestMoreParts(originalInstruction: string, allResults: Array<{
        id: string;
        title: string;
        status: string;
        content: string;
    }>, existingIds: string[], maxAdditionalParts: number, options: DecomposeTaskOptions): Promise<MorePartsResponse>;
}
//# sourceMappingURL=prompt-based-structured-caller.d.ts.map