import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * @description Componente de reconhecimento de voz que integra a Web Speech API para
 * transcrever a fala do usuário em texto, inserída diretamente em um `<textarea>` fornecido.
 * Suporta também text-to-speech para leitura em voz alta do conteúdo do campo.
 *
 * @example
 * ```html
 * <s-speech-recognition
 *   [textAreaElement]="textAreaRef.nativeElement"
 *   (recognizedText)="onTextoReconhecido($event)" />
 * ```
 *
 * @category Inputs
 */
export declare class SpeechRecognitionComponent implements OnInit, OnDestroy {
    private readonly speechRecognitionService;
    private readonly textToSpeechService;
    private readonly translateService;
    private static TOOLBAR_ACTIVE;
    /** @description Referência ao elemento `<textarea>` nativo que receberá o texto transcrito. Campo obrigatório. */
    textAreaElement: HTMLTextAreaElement;
    /** @description Quando `true`, mantém o texto existente no campo ao iniciar novo reconhecimento. @default false */
    keepContext: boolean;
    /** @description Placeholder exibido no textarea durante o reconhecimento de voz. @default '' */
    speechRecognitionPlaceholder: string;
    private _recognizedText;
    private originalTextAreaElementText;
    private isDoneTextToSpeech;
    private readonly onDestroy$;
    private readonly VOICE_SPEEDS;
    private readonly keydownEventListener;
    disabled: boolean;
    isListeningUserVoice: boolean;
    voiceSpeed: number;
    isDisabledMicrophone: boolean;
    canRenderMicrophone: boolean;
    canRenderTextToSpeech: boolean;
    canRenderListeningText: boolean;
    canRenderDiscard: boolean;
    canRenderAprove: boolean;
    canRenderTextToSpeechToolbar: boolean;
    isPlayingTextToSpeech: boolean;
    /** @description Emitido quando o reconhecimento de voz é concluído, com o texto transcrito. */
    recognizedText: EventEmitter<string>;
    ngOnInit(): void;
    onListen(): void;
    private scrollTextAreaBottom;
    onOpenToolbar(): void;
    onCloseToolbar(): void;
    onDiscard(): void;
    onAprove(): void;
    ngOnDestroy(): void;
    toggleTextToSpeech(): void;
    restartTextToSpeech(): void;
    updateVoiceSpeed(): void;
    stopListening(): void;
    get isListening(): boolean;
    get hasSpeechRecognitionBrowserApi(): boolean;
    get isDisabledTextToSpeech(): boolean;
    private setTextAreaValue;
    private stopTextToSpeech;
    private speak;
    private get textToSpeech();
    static ɵfac: i0.ɵɵFactoryDeclaration<SpeechRecognitionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SpeechRecognitionComponent, "s-speech-recognition", never, { "textAreaElement": { "alias": "textAreaElement"; "required": true; }; "keepContext": { "alias": "keepContext"; "required": false; }; "speechRecognitionPlaceholder": { "alias": "speechRecognitionPlaceholder"; "required": false; }; }, { "recognizedText": "recognizedText"; }, never, never, true, never>;
}
