@skyway-sdk/analytics-client
Version:
The official Next Generation JavaScript SDK for SkyWay
96 lines • 3.18 kB
TypeScript
import { Encoding } from '@skyway-sdk/model';
export declare type ClientEventType = 'MediaDeviceReport' | 'BindingRtcPeerConnectionToSubscription' | 'SubscriptionStatsReport' | 'RtcPeerConnectionEventReport' | 'PublicationUpdateEncodingsReport' | 'SubscriptionUpdatePreferredEncodingReport' | 'SdkLog' | 'JoinReport';
export declare type MediaDeviceReportClientEvent = {
id: string;
type: 'MediaDeviceReport';
payload: {
publicationId: string;
mediaDeviceName: string;
mediaDeviceVersion: number;
mediaDeviceTrigger: 'publish' | 'replaceStream' | 'changeCamera';
updatedAt: number;
};
};
export declare type BindingRtcPeerConnectionToSubscriptionClientEvent = {
id: string;
type: 'BindingRtcPeerConnectionToSubscription';
payload: {
subscriptionId: string;
role: 'sender' | 'receiver';
rtcPeerConnectionId: string;
};
};
export declare type SubscriptionStats = {
[type: string]: {
[property: string]: string;
};
};
export declare type SubscriptionStatsReportClientEvent = {
id: string;
type: 'SubscriptionStatsReport';
payload: {
subscriptionId: string;
role: 'sender' | 'receiver';
stats: SubscriptionStats;
createdAt: number;
};
};
export declare type RtcPeerConnectionEventReportClientEvent = {
id: string;
type: 'RtcPeerConnectionEventReport';
payload: {
rtcPeerConnectionId: string;
type: 'offer' | 'answer' | 'iceCandidate' | 'iceCandidateError' | 'iceConnectionStateChange' | 'iceGatheringStateChange' | 'connectionStateChange' | 'signalingStateChange' | 'restartIce' | 'skywayConnectionStateChange';
data: {
offer?: string;
answer?: string;
candidate?: string;
event?: string;
iceConnectionState?: string;
iceGatheringState?: string;
connectionState?: string;
signalingState?: string;
skywayConnectionState?: string;
} | undefined;
createdAt: number;
};
};
export declare type PublicationUpdateEncodingsReportClientEvent = {
id: string;
type: 'PublicationUpdateEncodingsReport';
payload: {
publicationId: string;
encodings: Encoding[];
encodingsVersion: number;
updatedAt: number;
};
};
export declare type SubscriptionUpdatePreferredEncodingReportClientEvent = {
id: string;
type: 'SubscriptionUpdatePreferredEncodingReport';
payload: {
subscriptionId: string;
preferredEncodingIndex: number;
preferredEncodingVersion: number;
updatedAt: number;
};
};
export declare type JoinReportClientEvent = {
id: string;
type: 'JoinReport';
payload: {
memberId: string;
};
};
export declare class ClientEvent {
readonly id: string;
readonly type: string;
readonly payload: Record<string, unknown>;
constructor(type: ClientEventType, payload: Record<string, unknown>);
toJSON(): {
id: string;
type: string;
payload: Record<string, unknown>;
};
}
//# sourceMappingURL=clientEvent.d.ts.map