import { z } from 'zod';
export declare enum ModelCategory {
    TEXT_TO_IMAGE = "text2img",
    IMAGE_TO_IMAGE = "img2img",
    VIDEO_GENERATION = "video",
    IMAGE_ENHANCEMENT = "enhancement",
    SPECIALIZED = "specialized"
}
export declare enum OutputType {
    IMAGE = "image",
    VIDEO = "video",
    AUDIO = "audio",
    TEXT = "text"
}
export interface ModelConfig {
    id: string;
    name: string;
    description: string;
    category: ModelCategory;
    endpoint: string;
    apiVersion: 'v1' | 'v2';
    outputType: OutputType;
    estimatedTime: number;
    creditsPerUse: number;
    parameters: z.ZodObject<any>;
    defaultParams?: Record<string, any>;
    supportedFormats?: string[];
    maxDimensions?: {
        width: number;
        height: number;
    };
}
export declare class ModelRegistry {
    private models;
    private modelsByCategory;
    constructor();
    private initializeModels;
    private registerModel;
    private registerTextToImageModels;
    private registerImageToImageModels;
    private registerVideoModels;
    private registerEnhancementModels;
    private registerSpecializedModels;
    getModel(id: string): ModelConfig | undefined;
    getModelsByCategory(category: ModelCategory): ModelConfig[];
    getAllModels(): ModelConfig[];
    validateParameters(modelId: string, params: any): {
        success: boolean;
        data?: any;
        error?: string;
    };
    recommendModel(category?: ModelCategory): ModelConfig | null;
}
export declare const modelRegistry: ModelRegistry;
//# sourceMappingURL=registry-old.d.ts.map