import { ConnectionEvent, EventSource, IAudioSource, IAudioStreamNode, IConnection, IDisposable, ServiceEvent } from "../common/Exports"; import { CancellationErrorCode, CancellationReason, Recognizer, SpeechRecognitionResult } from "../sdk/Exports"; import { Callback } from "../sdk/Transcription/IConversation"; import { AgentConfig, DynamicGrammarBuilder, RecognitionMode, RequestSession, SpeechContext } from "./Exports"; import { IAuthentication } from "./IAuthentication"; import { IConnectionFactory } from "./IConnectionFactory"; import { RecognizerConfig } from "./RecognizerConfig"; import { SpeechConnectionMessage } from "./SpeechConnectionMessage.Internal"; export declare abstract class ServiceRecognizerBase implements IDisposable { private privAuthentication; private privConnectionFactory; private privConnectionConfigurationPromise; private privConnectionPromise; private privAuthFetchEventId; private privIsDisposed; private privMustReportEndOfStream; private privConnectionEvents; private privServiceEvents; private privDynamicGrammar; private privAgentConfig; private privServiceHasSentMessage; private privActivityTemplate; private privSetTimeout; private privAudioSource; private privIsLiveAudio; protected privSpeechContext: SpeechContext; protected privRequestSession: RequestSession; protected privConnectionId: string; protected privRecognizerConfig: RecognizerConfig; protected privRecognizer: Recognizer; protected privSuccessCallback: (e: SpeechRecognitionResult) => void; protected privErrorCallback: (e: string) => void; constructor(authentication: IAuthentication, connectionFactory: IConnectionFactory, audioSource: IAudioSource, recognizerConfig: RecognizerConfig, recognizer: Recognizer); get audioSource(): IAudioSource; get speechContext(): SpeechContext; get dynamicGrammar(): DynamicGrammarBuilder; get agentConfig(): AgentConfig; set conversationTranslatorToken(token: string); set authentication(auth: IAuthentication); isDisposed(): boolean; dispose(reason?: string): Promise; get connectionEvents(): EventSource; get serviceEvents(): EventSource; get recognitionMode(): RecognitionMode; protected recognizeOverride: (recoMode: RecognitionMode, sc: (e: SpeechRecognitionResult) => void, ec: (e: string) => void) => any; recognize(recoMode: RecognitionMode, successCallback: (e: SpeechRecognitionResult) => void, errorCallBack: (e: string) => void): Promise; stopRecognizing(): Promise; connect(): Promise; connectAsync(cb?: Callback, err?: Callback): void; protected disconnectOverride: () => Promise; disconnect(): Promise; static telemetryData: (json: string) => void; static telemetryDataEnabled: boolean; sendMessage(message: string): void; sendNetworkMessage(path: string, payload: string | ArrayBuffer): Promise; set activityTemplate(messagePayload: string); get activityTemplate(): string; protected abstract processTypeSpecificMessages(connectionMessage: SpeechConnectionMessage, successCallback?: (e: SpeechRecognitionResult) => void, errorCallBack?: (e: string) => void): Promise; protected sendTelemetryData(): Promise; protected abstract cancelRecognition(sessionId: string, requestId: string, cancellationReason: CancellationReason, errorCode: CancellationErrorCode, error: string): void; protected cancelRecognitionLocal(cancellationReason: CancellationReason, errorCode: CancellationErrorCode, error: string): Promise; protected receiveMessageOverride: () => Promise; protected receiveMessage(): Promise; protected sendSpeechContext: (connection: IConnection) => Promise; protected sendPrePayloadJSONOverride: (connection: IConnection) => Promise; protected sendPrePayloadJSON(connection: IConnection): Promise; protected sendWaveHeader(connection: IConnection): Promise; protected postConnectImplOverride: (connection: Promise) => Promise; protected connectImpl(): Promise; protected configConnectionOverride: (connection: IConnection) => Promise; protected sendSpeechServiceConfig: (connection: IConnection, requestSession: RequestSession, SpeechServiceConfigJson: string) => Promise; protected fetchConnection(): Promise; protected sendAudio(audioStreamNode: IAudioStreamNode): Promise; private retryableConnect; private delay; private writeBufferToConsole; private sendFinalAudio; private configureConnection; }