import { ResourceEstimate, WorkflowDefinition, WorkflowStep } from '../core/types.js';
import { WorkflowOrchestrator } from '../tools/workflowOrchestrator.js';
import { type ComplexityLevel } from '../utils/workflowUtils.js';
export declare abstract class BaseWorkflow implements WorkflowDefinition {
    id: string;
    steps: WorkflowStep[];
    continueOnError: boolean;
    timeout: number;
    protected orchestrator: WorkflowOrchestrator;
    constructor(type: string, timeout: number, id?: string);
    protected assessComplexityByScore(score: number): ComplexityLevel;
    protected executeWithWrapper<T>(operation: () => Promise<T>, operationName: string, timeoutMultiplier?: number): Promise<T>;
    protected logWorkflowStart(workflowType: string, metadata: Record<string, unknown>): void;
    protected calculateResourceEstimate(baseValues: {
        memory: number;
        cpu: number;
        duration: number;
        cost: number;
    }, inputMultiplier: number, complexity: ComplexityLevel): ResourceEstimate;
    protected estimateDuration(baseTime: number, multiplier: number, complexity: ComplexityLevel): number;
    protected estimateCost(baseCost: number, multiplier: number, complexity: ComplexityLevel): number;
}
//# sourceMappingURL=BaseWorkflow.d.ts.map