livekit-client
Version:
JavaScript/TypeScript client SDK for LiveKit
172 lines (168 loc) • 5.23 kB
text/typescript
import { Mutex } from '@livekit/mutex';
import {
DataPacket_Kind,
DisconnectReason,
Encryption_Type,
SubscriptionError,
TrackType,
} from '@livekit/protocol';
import { LogLevel, LoggerNames, getLogger, setLogExtension, setLogLevel } from './logger';
import DefaultReconnectPolicy from './room/DefaultReconnectPolicy';
import type { ReconnectContext, ReconnectPolicy } from './room/ReconnectPolicy';
import Room, { ConnectionState, type RoomEventCallbacks } from './room/Room';
import * as attributes from './room/attribute-typings';
import LocalDataTrack from './room/data-track/LocalDataTrack';
import RemoteDataTrack, { type DataTrackSubscribeOptions } from './room/data-track/RemoteDataTrack';
import LocalParticipant from './room/participant/LocalParticipant';
import Participant, {
ConnectionQuality,
type ParticipantEventCallbacks,
ParticipantKind,
} from './room/participant/Participant';
import type { ParticipantTrackPermission } from './room/participant/ParticipantTrackPermission';
import RemoteParticipant from './room/participant/RemoteParticipant';
import type {
AudioReceiverStats,
AudioSenderStats,
VideoReceiverStats,
VideoSenderStats,
} from './room/stats';
import CriticalTimers from './room/timers';
import LocalAudioTrack from './room/track/LocalAudioTrack';
import LocalTrack from './room/track/LocalTrack';
import LocalTrackPublication from './room/track/LocalTrackPublication';
import LocalVideoTrack from './room/track/LocalVideoTrack';
import RemoteAudioTrack from './room/track/RemoteAudioTrack';
import RemoteTrack from './room/track/RemoteTrack';
import RemoteTrackPublication from './room/track/RemoteTrackPublication';
import type { ElementInfo } from './room/track/RemoteVideoTrack';
import RemoteVideoTrack from './room/track/RemoteVideoTrack';
import { type PublicationEventCallbacks, TrackPublication } from './room/track/TrackPublication';
import type { LiveKitReactNativeInfo, TextStreamInfo } from './room/types';
import type { AudioAnalyserOptions } from './room/utils';
import {
compareVersions,
createAudioAnalyser,
getEmptyAudioStreamTrack,
getEmptyVideoStreamTrack,
isAudioCodec,
isAudioTrack,
isBrowserSupported,
isLocalParticipant,
isLocalTrack,
isRemoteParticipant,
isRemoteTrack,
isVideoCodec,
isVideoTrack,
supportsAV1,
supportsAdaptiveStream,
supportsAudioOutputSelection,
supportsDynacast,
supportsVP9,
} from './room/utils';
import { getBrowser } from './utils/browserParser';
export { RpcError, type RpcInvocationData, type PerformRpcParams } from './room/rpc';
export * from './connectionHelper/ConnectionCheck';
export * from './connectionHelper/checks/Checker';
export * from './e2ee';
export type { BaseE2EEManager } from './e2ee/E2eeManager';
export * from './options';
export * from './room/errors';
export * from './room/events';
export * from './room/track/Track';
export * from './room/track/create';
export * from './room/token-source/TokenSource';
export * from './room/token-source/types';
export { facingModeFromDeviceLabel, facingModeFromLocalTrack } from './room/track/facingMode';
export * from './room/track/options';
export * from './room/track/processor/types';
export * from './room/track/types';
export type * from './room/data-stream/incoming/StreamReader';
export type * from './room/data-stream/outgoing/StreamWriter';
export type {
DataPublishOptions,
SimulationScenario,
TranscriptionSegment,
ChatMessage,
SendTextOptions,
} from './room/types';
export * from './version';
export {
/** @internal */
attributes,
ConnectionQuality,
ConnectionState,
CriticalTimers,
DataPacket_Kind,
Encryption_Type,
DefaultReconnectPolicy,
DisconnectReason,
LocalAudioTrack,
LocalParticipant,
LocalTrack,
LocalTrackPublication,
LocalVideoTrack,
LogLevel,
LoggerNames,
Participant,
RemoteAudioTrack,
RemoteParticipant,
ParticipantKind,
RemoteTrack,
RemoteTrackPublication,
RemoteVideoTrack,
Room,
SubscriptionError,
TrackPublication,
TrackType,
compareVersions,
createAudioAnalyser,
getBrowser,
getEmptyAudioStreamTrack,
getEmptyVideoStreamTrack,
getLogger,
isBrowserSupported,
setLogExtension,
setLogLevel,
supportsAV1,
supportsAdaptiveStream,
supportsAudioOutputSelection,
supportsDynacast,
supportsVP9,
Mutex,
isAudioCodec,
isAudioTrack,
isLocalTrack,
isRemoteTrack,
isVideoCodec,
isVideoTrack,
isLocalParticipant,
isRemoteParticipant,
LocalDataTrack,
RemoteDataTrack,
};
export type {
AudioAnalyserOptions,
ElementInfo,
LiveKitReactNativeInfo,
TextStreamInfo,
ParticipantTrackPermission,
AudioReceiverStats,
AudioSenderStats,
VideoReceiverStats,
VideoSenderStats,
ReconnectContext,
ReconnectPolicy,
RoomEventCallbacks,
ParticipantEventCallbacks,
PublicationEventCallbacks,
DataTrackSubscribeOptions,
};
export { DataTrackPacket, type DataTrackPacketHeader } from './room/data-track/packet';
export {
type DataTrackExtensions,
type DataTrackUserTimestampExtension,
type DataTrackE2eeExtension,
} from './room/data-track/packet/extensions';
export { type DataChannelKind } from './room/RTCEngine';
export { LocalTrackRecorder } from './room/track/record';