import { HUAError as HUAErrorType } from './types';
export declare class HUAError extends Error {
    readonly code: string;
    readonly statusCode: number;
    readonly details?: string;
    readonly isHUAError = true;
    constructor(code: string, message: string, statusCode?: number, details?: string);
    toJSON(): HUAErrorType;
}
export declare class AuthenticationError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class MissingApiKeyError extends HUAError {
    constructor(message?: string);
}
export declare class InvalidApiKeyError extends HUAError {
    constructor(message?: string);
}
export declare class GuestKeyLimitExceededError extends HUAError {
    constructor(message?: string);
}
export declare class RateLimitExceededError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class InsufficientCreditsError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class ValidationError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class MissingMessageError extends HUAError {
    constructor(message?: string);
}
export declare class InvalidToneError extends HUAError {
    constructor(tone: string, message?: string);
}
export declare class InvalidModeError extends HUAError {
    constructor(mode: string, message?: string);
}
export declare class InvalidTierError extends HUAError {
    constructor(tier: number, message?: string);
}
export declare class InvalidLanguageError extends HUAError {
    constructor(lang: string, message?: string);
}
export declare class NetworkError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class TimeoutError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class ServerError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class OpenAIApiError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class ConfigurationError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare class RetryLimitExceededError extends HUAError {
    constructor(message?: string, details?: string);
}
export declare function createErrorFromResponse(response: any, statusCode: number): HUAError;
export declare function isHUAError(error: any): error is HUAError;
export declare function isRetryableError(error: HUAError): boolean;
export declare function formatErrorMessage(error: HUAError, lang?: 'ko' | 'en'): string;
