import type { VLibrasPlayerOptions, VLibrasPlayerState, VLibrasPlayerEvents, TranslationOptions } from '@/types';
/**
 * Classe principal do VLibras Player para Next.js
 */
export declare class VLibrasPlayer {
    private options;
    private translator;
    private unityManager;
    private state;
    private eventListeners;
    private container;
    private globalGlossLength;
    private callbacks;
    private isInTranslation;
    private isRestarting;
    constructor(options?: VLibrasPlayerOptions);
    /**
     * Carrega o player no container especificado
     */
    load(wrapper: HTMLElement): Promise<void>;
    /**
     * Traduz um texto para Libras - EXATAMENTE como no código original
     */
    translate(text: string, options?: TranslationOptions): Promise<void>;
    /**
     * Reproduz uma glosa ou continua a reprodução
     */
    play(gloss?: string | null, options?: TranslationOptions): void;
    /**
     * Reproduz animação de boas-vindas
     */
    playWelcome(): void;
    /**
     * Continua a reprodução pausada
     */
    continue(): void;
    /**
     * Repete a última reprodução
     */
    repeat(): void;
    /**
     * Pausa a reprodução
     */
    pause(): void;
    /**
     * ✅ NOVO: Retoma a reprodução pausada
     */
    resume(): void;
    /**
     * ✅ NOVO: Reinicia a animação atual (mesmo se estiver rodando)
     */
    restart(): void;
    /**
     * Para a reprodução
     */
    stop(): void;
    /**
     * Define a velocidade de reprodução
     */
    setSpeed(speed: number): void;
    /**
     * Define configurações de personalização
     */
    setPersonalization(personalization: string): void;
    /**
     * Troca o avatar
     */
    changeAvatar(avatarName: string): void;
    /**
     * Alterna exibição de legendas
     */
    toggleSubtitle(): void;
    /**
     * Define a região do dicionário
     */
    setRegion(region: 'BR' | 'PT'): void;
    /**
     * Obtém o estado atual do player
     */
    getState(): Readonly<VLibrasPlayerState>;
    /**
     * Adiciona listener para eventos
     */
    addEventListener<K extends keyof VLibrasPlayerEvents>(event: K, listener: VLibrasPlayerEvents[K]): void;
    /**
     * Remove listener de eventos
     */
    removeEventListener<K extends keyof VLibrasPlayerEvents>(event: K, listener: VLibrasPlayerEvents[K]): void;
    /**
     * ✅ NOVO: Remove todos os listeners de eventos
     */
    removeAllListeners(): void;
    /**
     * Destrói o player e limpa recursos
    /**
     * ✅ MELHORADO: Destrói o player e limpa recursos completamente
     */
    dispose(): void;
    /**
     * Emite um evento
     */
    private emit;
    /**
     * Configura integração dos callbacks com eventos internos
     */
    private setupCallbackIntegration;
    /**
     * Configura listeners para eventos do Unity
     */
    private setupEventListeners;
    /**
     * Altera o status do player
     */
    private changeStatus;
    /**
     * Atualiza URL do dicionário baseado nas configurações de estatísticas
     */
    private updateDictionaryUrl;
}
