opentok-react-native
Version:
Vonage Video client SDK for React Native
140 lines • 4.7 kB
TypeScript
import type { TurboModule } from 'react-native';
import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes';
export type ArchiveEvent = {
archiveId: string;
name: string;
sessionId: string;
};
export type Connection = {
creationTime: string;
data: string;
connectionId: string;
};
export type ConnectionEvent = {
creationTime: string;
data: string;
connectionId: string;
sessionId: string;
};
export type EmptyEvent = {};
export type IceConfig = {
includeServers: string;
transportPolicy: string;
filterOutLanCandidates: boolean;
customServers: {
urls: string[];
username?: string;
credential?: string;
}[];
};
export type MuteForcedEvent = {
active: boolean;
};
export type SessionOptions = {
androidZOrder?: string;
apiUrl?: string;
connectionEventsSuppressed?: boolean;
enableStereoOutput?: boolean;
enableSinglePeerConnection?: boolean;
sessionMigration?: boolean;
iceConfig?: IceConfig;
ipWhitelist?: boolean;
isCamera2Capable?: boolean;
proxyUrl?: string;
useTextureViews?: boolean;
};
export type SessionConnectEvent = {
sessionId: string;
connection: {
connectionId: string;
creationTime: string;
data: string;
};
};
export type SessionDisconnectEvent = {
sessionId: string;
};
export type Stream = {
name: string;
streamId: string;
hasAudio: boolean;
hasCaptions: boolean;
hasVideo: boolean;
sessionId: string;
width: number;
height: number;
videoType: string;
connection: Connection;
creationTime: string;
};
export type StreamEvent = Stream;
export type StreamPropertyChangedEvent = {
oldValue: {
width?: number;
height?: number;
} | boolean;
newValue: {
width?: number;
height?: number;
} | boolean;
stream: Stream;
changedProperty: string;
};
export type SignalEvent = {
sessionId: string;
connectionId: string;
type: string;
data: string;
};
export type SessionErrorEvent = {
code: string;
message: string;
};
export interface Spec extends TurboModule {
readonly onArchiveStarted: EventEmitter<ArchiveEvent>;
readonly onArchiveStopped: EventEmitter<ArchiveEvent>;
readonly onConnectionCreated: EventEmitter<ConnectionEvent>;
readonly onConnectionDestroyed: EventEmitter<ConnectionEvent>;
readonly onMuteForced: EventEmitter<MuteForcedEvent>;
readonly onSessionConnected: EventEmitter<SessionConnectEvent>;
readonly onSessionDisconnected: EventEmitter<SessionDisconnectEvent>;
readonly onSessionReconnecting: EventEmitter<EmptyEvent>;
readonly onSessionReconnected: EventEmitter<EmptyEvent>;
readonly onStreamCreated: EventEmitter<StreamEvent>;
readonly onStreamDestroyed: EventEmitter<StreamEvent>;
readonly onStreamPropertyChanged: EventEmitter<StreamPropertyChangedEvent>;
readonly onSignalReceived: EventEmitter<SignalEvent>;
readonly onSessionError: EventEmitter<SessionErrorEvent>;
initSession(apiKey: string, sessionId: string, options?: SessionOptions): void;
connect(sessionId: string, token: string): Promise<void>;
disconnect(sessionId: string): Promise<void>;
getSubscriberRtcStatsReport(sessionId: string): void;
getPublisherRtcStatsReport(sessionId: string, publisherId: string): void;
setAudioTransformers(sessionId: string, publisherId: string, transformers: Array<{
name: string;
properties?: string;
}>): void;
setVideoTransformers(sessionId: string, publisherId: string, transformers: Array<{
name: string;
properties?: string;
}>): void;
publish(sessionId: string, publisherId: string): void;
unpublish(sessionId: string, publisherId: string): void;
removeSubscriber(sessionId: string, streamId: string): void;
sendSignal(sessionId: string, type: string, data: string, to: string): void;
setEncryptionSecret(sessionId: string, secret: string): Promise<void>;
getCapabilities(sessionId: string): Promise<Array<{
canPublish: boolean;
canSubscribe: boolean;
canForceMute: boolean;
canForceDisconnect: boolean;
}>>;
reportIssue(sessionId: string): Promise<string>;
forceMuteAll(sessionId: string, excludedStreamIds: string[]): Promise<boolean>;
forceMuteStream(sessionId: string, streamId: string): Promise<boolean>;
forceDisconnect(sessionId: string, connectionId: string): Promise<boolean>;
disableForceMute(sessionId: string): Promise<boolean>;
}
declare const _default: Spec;
export default _default;
//# sourceMappingURL=NativeOpentok.d.ts.map