export interface ApiResponse<T> {
    data: T;
    status: number;
    statusText: string;
}
export type ImageFormat = 'png' | 'jpeg' | 'webp';
export type ImageModel = 'dall-e-3' | 'dall-e-2';
export interface ImageGenerationOptions {
    width: number;
    height: number;
    prompt: string;
    model?: ImageModel;
    format?: ImageFormat;
    quality?: number;
    optimize?: boolean;
}
export interface SupportedModel {
    id: string;
    name: string;
    description: string;
    maxWidth: number;
    maxHeight: number;
}
export interface SupportedSize {
    width: number;
    height: number;
    aspectRatio: string;
}
export interface ResizeImageOptions {
    width: number;
    height: number;
    format: ImageFormat;
    quality: number;
}
export interface ConvertImageOptions {
    format: ImageFormat;
    quality: number;
}
export interface OptimizeImageOptions {
    format: ImageFormat;
    quality: number;
}
export interface SupportedFormat {
    id: string;
    name: string;
    mimeType: string;
    extensions: string[];
}
export interface HealthStatus {
    status: string;
    info?: Record<string, {
        status: string;
    }>;
    error?: Record<string, {
        status: string;
        message: string;
    }>;
    details: Record<string, {
        status: string;
        message?: string;
    }>;
}
export interface Metrics {
    uptime: number;
    requestCount: number;
    successRate: number;
    averageResponseTime: number;
}
export interface ClientConfig {
    baseUrl: string;
    apiKey?: string;
    timeout?: number;
}
