import { IStore } from './store'; import { AnalyticsTimer } from '../analytics/AnalyticsTimer'; import { DeviceManager } from '../device-manager'; import { EventBus } from '../events/EventBus'; import { HMSScreenShareConfig, ScreenCaptureHandleConfig } from '../interfaces'; import InitialSettings from '../interfaces/settings'; import { HMSLocalTrack, HMSLocalVideoTrack } from '../internal'; import { HMSTrackSettings } from '../media/settings'; import { HMSLocalStream } from '../media/streams/HMSLocalStream'; import { IFetchAVTrackOptions } from '../transport/ITransport'; import ITransportObserver from '../transport/ITransportObserver'; export declare class LocalTrackManager { private store; private observer; private deviceManager; private eventBus; private analyticsTimer; readonly TAG: string; private captureHandleIdentifier?; constructor(store: IStore, observer: ITransportObserver, deviceManager: DeviceManager, eventBus: EventBus, analyticsTimer: AnalyticsTimer); getTracksToPublish(initialSettings?: InitialSettings): Promise; /** * @throws {HMSException} */ getLocalTracks(fetchTrackOptions: IFetchAVTrackOptions | undefined, settings: HMSTrackSettings, localStream?: HMSLocalStream): Promise>; /** * @throws {HMSException} */ private getNativeLocalTracks; getLocalScreen(partialConfig?: HMSScreenShareConfig): Promise; setScreenCaptureHandleConfig(config?: Partial): void; validateCurrentTabCapture(track: HMSLocalVideoTrack, forceCurrentTab: boolean): boolean; requestPermissions(): Promise; static getEmptyVideoTrack(prevTrack?: MediaStreamTrack): MediaStreamTrack; static getEmptyAudioTrack(): MediaStreamTrack; static cleanup(): void; /** * @throws {HMSException} */ private getAVTracks; private getAVTrackSettings; private isInIframe; private retryGetLocalTracks; private getErrorType; private getEmptyTracks; private updateCurrentLocalTrackSettings; private getAudioSettings; private getVideoSettings; private getScreenshareSettings; private getOrDefaultScreenshareConfig; private createHMSLocalTracks; }