import { ChatRequest, ChatResponse, HUALiteConfig, HUALiteInterface, Tone, Mode, Tier, SupportedLang, LLMProvider, PresetInfo, ModeInfo, TierInfo } from './types';
export declare class HUALite implements HUALiteInterface {
    private client;
    constructor(apiKey: string, config?: HUALiteConfig);
    chat(request: ChatRequest): Promise<ChatResponse>;
    issueKey(): Promise<string>;
    gentleChat(message: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
    warmChat(message: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
    cheerfulChat(message: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
    analyzeChat(message: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
    suggestChat(message: string, options?: Partial<ChatRequest>): Promise<ChatResponse>;
    getPresetInfo(): PresetInfo;
    getModeInfo(): ModeInfo;
    getTierInfo(): TierInfo;
    getAvailableTones(): Tone[];
    getAvailableModes(): Mode[];
    getAvailableTiers(): Tier[];
    getSupportedLanguages(): SupportedLang[];
    getAvailableProviders(): LLMProvider[];
    getApiKey(): string;
    getConfig(): Required<HUALiteConfig>;
    updateConfig(newConfig: Partial<HUALiteConfig>): void;
    on(event: string, listener: (event: any) => void): void;
    off(event: string, listener: (event: any) => void): void;
    validateTone(tone: string): tone is Tone;
    validateMode(mode: string): mode is Mode;
    validateTier(tier: number): tier is Tier;
    validateLanguage(lang: string): lang is SupportedLang;
    validateProvider(provider: string): provider is LLMProvider;
    batchChat(requests: ChatRequest[]): Promise<ChatResponse[]>;
    streamChat(request: ChatRequest): AsyncGenerator<string>;
}
export declare namespace HUALite {
    function issueKey(baseUrl?: string): Promise<string>;
    function validateApiKey(apiKey: string): boolean;
    const presets: {
        tones: PresetInfo;
        modes: ModeInfo;
        tiers: TierInfo;
    };
    const constants: {
        TONE_PRESETS: Tone[];
        MODE_PRESETS: Mode[];
        TIER_PRESETS: Tier[];
        SUPPORTED_LANGS: SupportedLang[];
        LLM_PROVIDERS: LLMProvider[];
    };
}
export * from './types';
export { HUAError, MissingApiKeyError, ValidationError, NetworkError, TimeoutError, ServerError, AuthenticationError, InvalidApiKeyError, GuestKeyLimitExceededError, RateLimitExceededError, InsufficientCreditsError, MissingMessageError, InvalidToneError, InvalidModeError, InvalidTierError, InvalidLanguageError, OpenAIApiError, ConfigurationError, RetryLimitExceededError, createErrorFromResponse, isHUAError, isRetryableError, formatErrorMessage } from './errors';
export default HUALite;
