import { ResourceEstimate } from '../core/types.js';
export declare const COMPLEXITY_MULTIPLIERS: {
    readonly low: {
        readonly tokens: 1;
        readonly score: 1;
        readonly duration: 1;
        readonly cost: 1;
    };
    readonly medium: {
        readonly tokens: 1.5;
        readonly score: 1.3;
        readonly duration: 2;
        readonly cost: 1.5;
    };
    readonly high: {
        readonly tokens: 2.5;
        readonly score: 2;
        readonly duration: 4;
        readonly cost: 2.5;
    };
};
export declare const DURATION_FACTORS: {
    readonly low: 1;
    readonly medium: 1.5;
    readonly high: 2.5;
};
export declare const COST_FACTORS: {
    readonly low: 1;
    readonly medium: 1.5;
    readonly high: 2.5;
};
export type ComplexityLevel = 'low' | 'medium' | 'high';
export declare function scoreToComplexity(score: number): ComplexityLevel;
export declare function getThresholdScore(value: number, thresholds: Array<[number, number]>): number;
export declare function calculateResourceEstimate(baseValues: {
    memory: number;
    cpu: number;
    duration: number;
    cost: number;
}, inputMultiplier: number, complexity: ComplexityLevel): ResourceEstimate;
export declare function estimateDuration(baseTime: number, multiplier: number, complexity: ComplexityLevel): number;
export declare function estimateCost(baseCost: number, multiplier: number, complexity: ComplexityLevel): number;
export declare const FILE_CATEGORIES: {
    readonly document: readonly ["pdf", "doc", "docx", "txt", "md", "rtf", "odt"];
    readonly image: readonly ["png", "jpg", "jpeg", "gif", "webp", "svg", "bmp", "tiff"];
    readonly audio: readonly ["mp3", "wav", "ogg", "flac", "aac", "m4a"];
    readonly video: readonly ["mp4", "webm", "avi", "mov", "mkv"];
    readonly data: readonly ["json", "xml", "csv", "yaml", "yml"];
    readonly code: readonly ["ts", "js", "py", "java", "cpp", "c", "go", "rs", "rb"];
};
export declare function getFileCategory(extension: string): keyof typeof FILE_CATEGORIES | 'unknown';
export declare const SUPPORTED_FORMATS: {
    readonly document: {
        readonly input: readonly ["pdf", "doc", "docx", "txt", "md", "rtf", "html"];
        readonly output: readonly ["pdf", "docx", "md", "txt", "html"];
    };
    readonly image: {
        readonly input: readonly ["png", "jpg", "jpeg", "gif", "webp", "bmp"];
        readonly output: readonly ["png", "jpg", "webp", "gif"];
    };
    readonly audio: {
        readonly input: readonly ["mp3", "wav", "ogg", "flac", "aac"];
        readonly output: readonly ["mp3", "wav", "ogg"];
    };
    readonly data: {
        readonly input: readonly ["json", "xml", "csv", "yaml"];
        readonly output: readonly ["json", "xml", "csv", "yaml"];
    };
};
export declare function validateConversionFormat(type: keyof typeof SUPPORTED_FORMATS, sourceFormat: string, targetFormat: string): {
    valid: boolean;
    error?: string;
};
//# sourceMappingURL=workflowUtils.d.ts.map