import { TCallRole, TCallRoleSpectator } from './types'; type TOnRoleChanged = (params: { previous: TCallRole; next: TCallRole; }) => void; export declare class RoleManager { private role; private isAvailableSendingMedia; private readonly onRoleChanged?; private readonly listeners; constructor(onRoleChanged?: TOnRoleChanged); getRole(): TCallRole; getIsAvailableSendingMedia(): boolean; setCallRoleParticipant(): void; setCallRoleSpectatorSynthetic(isAvailableSendingMedia?: boolean): void; setCallRoleSpectator(recvParams: TCallRoleSpectator['recvParams'], isAvailableSendingMedia?: boolean): void; changeRole(next: TCallRole): void; reset(): void; hasParticipant(): boolean; hasSpectatorSynthetic(): boolean; hasSpectator(): boolean; subscribe(listener: TOnRoleChanged): () => void; private setRole; } export {};