import Subject from '../../rx/Subject'; import PublisherState from './PublisherState'; import EndPoint, { IStream, AddIceCandidatesStatus, SetRemoteDescriptionStatus } from '../discovery/EndPoint'; import DisposableList from '../../lang/DisposableList'; import { IRtcPublishMonitorStatistic } from '../../rtc/RtcPublishMonitor'; import { PublishStatus } from '../api/Publish'; export default class PublisherContext { publisherInitialization: Date; disposables: DisposableList; publisherDisposables: DisposableList; state: Subject; authorized: Subject; online: Subject; loading: Subject; publishing: Subject; standby: Subject; stopped: Subject; failureCount: Subject; endPoint: Subject; stream: Subject; rtcStatistics: Subject; clearFailureCountTimeout: number; startReconnectionAttemptsTimeInMilliseconds: number; name: string; constructor(name?: string); get streamId(): string; applyPublishStatus(status: PublishStatus): void; applySetRemoteDescriptionStatus(status: SetRemoteDescriptionStatus): void; applyAddIceCandidatesStatus(status: AddIceCandidatesStatus): void; mapPublishStatusToPublisherStatus(status: PublishStatus): PublisherState; applyUnhandledError(): void; applyUnauthorized(): void; applyNotFound(): void; private generateScreenName; }