import { Observable } from 'rxjs'; import { VendorImplementation } from 'softphone-vendor-headsets'; import GenesysCloudWebrtcSdk from '../client'; import { ExpandedConsumedHeadsetEvents, ISdkHeadsetService, OrchestrationState } from './headset-types'; export declare class HeadsetProxyService implements ISdkHeadsetService { protected sdk: GenesysCloudWebrtcSdk; private currentHeadsetService; private currentEventSubscription; private headsetEventsSub; private orchestrationWaitTimer; private useHeadsetOrchestration; headsetEvents$: Observable; orchestrationState: OrchestrationState; constructor(sdk: GenesysCloudWebrtcSdk); initialize(): void; setUseHeadsets(useHeadsets: boolean): void; get currentSelectedImplementation(): VendorImplementation; private handleHeadsetEvent; updateAudioInputDevice(newMicDeviceId: string): void; private startHeadsetOrchestration; private setOrchestrationState; private handleMediaMessage; private getRequestPriority; private handleHeadsetControlsRequest; private handleHeadsetControlsRejection; private handleHeadsetControlsChanged; private sendControlsRejectionMessage; private sendControlsChangedMessage; showRetry(): boolean; retryConnection(micDeviceLabel: string): Promise; setRinging(callInfo: { conversationId: string; contactName?: string; }, hasOtherActiveCalls: boolean): Promise; outgoingCall(callInfo: { conversationId: string; contactName: string; }): Promise; endCurrentCall(conversationId: string, hasOtherActiveCalls: boolean): Promise; endAllCalls(): Promise; answerIncomingCall(conversationId: string, autoAnswer: boolean): Promise; rejectIncomingCall(conversationId: string, expectExistingConversation?: boolean): Promise; setMute(isMuted: boolean): Promise; setHold(conversationId: string, isHeld: boolean): Promise; resetHeadsetStateForCall(conversationId: string): Promise; }