export declare enum ErrorCode {
    INVALID_API_KEY = "INVALID_API_KEY",
    AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED",
    API_ERROR = "API_ERROR",
    RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED",
    INSUFFICIENT_CREDITS = "INSUFFICIENT_CREDITS",
    MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
    MODEL_NOT_AVAILABLE = "MODEL_NOT_AVAILABLE",
    GENERATION_FAILED = "GENERATION_FAILED",
    GENERATION_TIMEOUT = "GENERATION_TIMEOUT",
    INVALID_INPUT = "INVALID_INPUT",
    INVALID_IMAGE_FORMAT = "INVALID_IMAGE_FORMAT",
    IMAGE_TOO_LARGE = "IMAGE_TOO_LARGE",
    INTERNAL_ERROR = "INTERNAL_ERROR",
    CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
    NETWORK_ERROR = "NETWORK_ERROR",
    TIMEOUT_ERROR = "TIMEOUT_ERROR"
}
export declare class SafeError extends Error {
    readonly userMessage: string;
    readonly code: ErrorCode;
    readonly statusCode: number;
    readonly details?: Record<string, unknown> | undefined;
    constructor(userMessage: string, code: ErrorCode, statusCode?: number, details?: Record<string, unknown> | undefined);
    toJSON(): Record<string, unknown>;
}
export declare class AuthenticationError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class InvalidApiKeyError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class RateLimitError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class InsufficientCreditsError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class ModelNotFoundError extends SafeError {
    constructor(modelId: string, details?: Record<string, unknown>);
}
export declare class GenerationError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class InvalidInputError extends SafeError {
    constructor(message: string, details?: Record<string, unknown>);
}
export declare class NetworkError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class TimeoutError extends SafeError {
    constructor(message?: string, details?: Record<string, unknown>);
}
export declare class ConfigurationError extends SafeError {
    constructor(message: string, details?: Record<string, unknown>);
}
export declare function mapToSafeError(error: unknown): SafeError;
export declare function formatErrorResponse(error: SafeError): Record<string, unknown>;
//# sourceMappingURL=errors.d.ts.map