import { IStore } from './store'; import { DeviceManager } from '../device-manager'; import { HMSRole } from '../interfaces'; import InitialSettings from '../interfaces/settings'; import { HMSUpdateListener } from '../interfaces/update-listener'; import ITransport from '../transport/ITransport'; export default class RoleChangeManager { private store; private transport; private deviceManager; private publish; private removeAuxiliaryTrack; private listener?; constructor(store: IStore, transport: ITransport, deviceManager: DeviceManager, publish: (settings: InitialSettings) => Promise, removeAuxiliaryTrack: (trackId: string) => void, listener?: HMSUpdateListener | undefined); handleLocalPeerRoleUpdate: ({ oldRole, newRole }: { oldRole: HMSRole; newRole: HMSRole; }) => Promise; diffRolesAndPublishTracks: ({ oldRole, newRole }: { oldRole: HMSRole; newRole: HMSRole; }) => Promise; private syncDevices; private removeVideoTracks; private removeAudioTrack; private removeScreenTracks; private removeAuxTracks; private removeTrack; private hasSimulcastDifference; private getSettings; }