/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { Subscription } from 'rxjs'; import { SVGIcon } from '@progress/kendo-svg-icons'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { IntegrationMode } from './models/integration-mode'; import { SpeechToTextResultEvent } from './models/result-event'; import { SpeechToTextErrorEvent } from './models/error-event'; import { ButtonFillMode, ButtonRounded, ButtonSize, ButtonThemeColor } from '../common/models'; import * as i0 from "@angular/core"; /** * Represents the Kendo UI SpeechToTextButton component for Angular. * * @example * ```html * * ``` */ export declare class SpeechToTextButtonComponent implements OnInit, OnDestroy { renderer: Renderer2; ngZone: NgZone; /** * When `true`, disables the SpeechToTextButton and prevents user interaction. * * @default false */ set disabled(disabled: boolean); get disabled(): boolean; /** * Sets the padding of the SpeechToTextButton. The default value is set by the Kendo theme. * */ set size(size: ButtonSize); get size(): ButtonSize; /** * Sets the border radius of the SpeechToTextButton. The default value is set by the Kendo theme. * */ set rounded(rounded: ButtonRounded); get rounded(): ButtonRounded; /** * Sets the background and border styles of the SpeechToTextButton. The default value is set by the Kendo theme. */ set fillMode(fillMode: ButtonFillMode); get fillMode(): ButtonFillMode; /** * Sets a predefined theme color for the SpeechToTextButton. The default value is set by the Kendo theme. * The theme color applies as a background and border color and adjusts the text color for contrast. * */ set themeColor(themeColor: ButtonThemeColor); get themeColor(): ButtonThemeColor; /** * Specifies which speech recognition engine or integration the component should use. Allows the component to operate in different environments or use alternative implementations. */ integrationMode: IntegrationMode; /** * Specifies a `BCP 47` language tag (e.g., 'en-US', 'bg-BG') used for speech recognition. * * @default 'en-US' */ lang: string; /** * Specifies whether continuous results are returned for each recognition, or only a single result once recognition stops. * * @default false */ continuous: boolean; /** * Specifies whether interim results should be returned or not. Interim results are results that are not yet final. * * @default false */ interimResults: boolean; /** * Represents the maximum number of alternative transcriptions to return for each result. * * @default 1 */ maxAlternatives: number; /** * Fires when the speech recognition service has begun listening to incoming audio. */ start: EventEmitter; /** * Fires when the speech recognition service has disconnected. */ end: EventEmitter; /** * Fires when the speech recognition service returns a result - a word or phrase has been positively recognized. */ result: EventEmitter; /** * Fires when a speech recognition error occurs. The event argument is a string, containing the error message. */ error: EventEmitter; /** * Fires when the user clicks the SpeechToTextButton. */ click: EventEmitter; get iconButtonClass(): boolean; get listeningClass(): boolean; speechToTextButtonClass: boolean; classButton: boolean; get classDisabled(): boolean; get getDirection(): string; get ariaPressed(): boolean; /** * @hidden */ onFocus(): void; /** * @hidden */ onBlur(): void; /** * Focuses the SpeechToTextButton component. */ focus(): void; /** * Removes focus from the SpeechToTextButton component. */ blur(): void; ngOnInit(): void; ngOnChanges(changes: any): void; ngOnDestroy(): void; constructor(element: ElementRef, renderer: Renderer2, localization: LocalizationService, ngZone: NgZone); /** * Indicates whether the button is actively listening for incoming audio. */ isListening: boolean; /** * Indicates whether web speech functionality is supported. */ get isWebSpeechSupported(): boolean; set isFocused(isFocused: boolean); get isFocused(): boolean; /** * @hidden */ get hasText(): boolean; /** * @hidden */ onClick(): void; /** * @hidden */ get buttonSvgIcon(): SVGIcon; /** * @hidden */ get buttonIcon(): string; /** * @hidden */ element: HTMLElement; /** * @hidden */ isDisabled: boolean; /** * @hidden */ subs: Subscription; private microphoneSvgIcon; private stopSvgIcon; private speechRecognition; private _size; private _rounded; private _fillMode; private _themeColor; private _focused; private direction; private handleClasses; private handleStart; private handleEnd; private handleResult; private handleError; private toObservable; private handleThemeColor; private destroyWebSpeech; private createWebSpeech; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }