import EventEmitter from "events";
import { SupportedLanguage } from "./SofyaTranscriber";
/**
 * Opções de conexão customizadas para WebSocket.
 */
export interface WebSocketConnectionOptions {
    /**
     * Parâmetros de query customizados anexados à URL do WebSocket.
     *
     * ⚠️ AVISO DE SEGURANÇA: Query params são visíveis em:
     * - Histórico do browser e DevTools
     * - Logs de servidor e proxy
     * - Ferramentas de monitoramento de rede
     *
     * NÃO use para dados sensíveis como tokens ou senhas.
     * Use 'protocols' para dados de autenticação.
     */
    queryParams?: Record<string, string>;
    /**
     * Subprotocols do WebSocket para negociação de protocolo.
     * Prefira este método para tokens de autenticação.
     */
    protocols?: string | string[];
}
export interface ITranscriptionConfig {
    language: SupportedLanguage;
    translation_lang?: "english";
    websocketOptions?: WebSocketConnectionOptions;
}
export declare class ITranscriptionService extends EventEmitter {
    /**
     * Initializes the transcription service.
     * @param {MediaStream} mediaStream - The media stream to transcribe.
     */
    initialize(mediaStream: MediaStream): void;
    /**
     * Starts the transcription process.
     * @param {MediaStream} mediaStream - The media stream to transcribe.
     */
    startTranscription(mediaStream: MediaStream): void;
    /**
     * Stops the transcription process.
     */
    stopTranscription(): Promise<void>;
}
//# sourceMappingURL=ITranscriptionService.d.ts.map