import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "livekit"; export declare enum TrackType { AUDIO = 0, VIDEO = 1, DATA = 2, UNRECOGNIZED = -1 } export declare function trackTypeFromJSON(object: any): TrackType; export declare function trackTypeToJSON(object: TrackType): string; export declare enum TrackSource { UNKNOWN = 0, CAMERA = 1, MICROPHONE = 2, SCREEN_SHARE = 3, SCREEN_SHARE_AUDIO = 4, UNRECOGNIZED = -1 } export declare function trackSourceFromJSON(object: any): TrackSource; export declare function trackSourceToJSON(object: TrackSource): string; export declare enum VideoQuality { LOW = 0, MEDIUM = 1, HIGH = 2, OFF = 3, UNRECOGNIZED = -1 } export declare function videoQualityFromJSON(object: any): VideoQuality; export declare function videoQualityToJSON(object: VideoQuality): string; export declare enum ConnectionQuality { POOR = 0, GOOD = 1, EXCELLENT = 2, UNRECOGNIZED = -1 } export declare function connectionQualityFromJSON(object: any): ConnectionQuality; export declare function connectionQualityToJSON(object: ConnectionQuality): string; export declare enum ClientConfigSetting { UNSET = 0, DISABLED = 1, ENABLED = 2, UNRECOGNIZED = -1 } export declare function clientConfigSettingFromJSON(object: any): ClientConfigSetting; export declare function clientConfigSettingToJSON(object: ClientConfigSetting): string; export declare enum DisconnectReason { UNKNOWN_REASON = 0, CLIENT_INITIATED = 1, DUPLICATE_IDENTITY = 2, SERVER_SHUTDOWN = 3, PARTICIPANT_REMOVED = 4, ROOM_DELETED = 5, STATE_MISMATCH = 6, JOIN_FAILURE = 7, UNRECOGNIZED = -1 } export declare function disconnectReasonFromJSON(object: any): DisconnectReason; export declare function disconnectReasonToJSON(object: DisconnectReason): string; export interface Room { sid: string; name: string; emptyTimeout: number; maxParticipants: number; creationTime: number; turnPassword: string; enabledCodecs: Codec[]; metadata: string; numParticipants: number; activeRecording: boolean; } export interface Codec { mime: string; fmtpLine: string; } export interface ParticipantPermission { /** allow participant to subscribe to other tracks in the room */ canSubscribe: boolean; /** allow participant to publish new tracks to room */ canPublish: boolean; /** allow participant to publish data */ canPublishData: boolean; /** indicates that it's hidden to others */ hidden: boolean; /** indicates it's a recorder instance */ recorder: boolean; } export interface ParticipantInfo { sid: string; identity: string; state: ParticipantInfo_State; tracks: TrackInfo[]; metadata: string; /** timestamp when participant joined room, in seconds */ joinedAt: number; name: string; version: number; permission?: ParticipantPermission; region: string; /** * indicates the participant has an active publisher connection * and can publish to the server */ isPublisher: boolean; } export declare enum ParticipantInfo_State { /** JOINING - websocket' connected, but not offered yet */ JOINING = 0, /** JOINED - server received client offer */ JOINED = 1, /** ACTIVE - ICE connectivity established */ ACTIVE = 2, /** DISCONNECTED - WS disconnected */ DISCONNECTED = 3, UNRECOGNIZED = -1 } export declare function participantInfo_StateFromJSON(object: any): ParticipantInfo_State; export declare function participantInfo_StateToJSON(object: ParticipantInfo_State): string; export interface SimulcastCodecInfo { mimeType: string; mid: string; cid: string; layers: VideoLayer[]; } export interface TrackInfo { sid: string; type: TrackType; name: string; muted: boolean; /** * original width of video (unset for audio) * clients may receive a lower resolution version with simulcast */ width: number; /** original height of video (unset for audio) */ height: number; /** true if track is simulcasted */ simulcast: boolean; /** true if DTX (Discontinuous Transmission) is disabled for audio */ disableDtx: boolean; /** source of media */ source: TrackSource; layers: VideoLayer[]; /** mime type of codec */ mimeType: string; mid: string; codecs: SimulcastCodecInfo[]; stereo: boolean; /** true if RED (Redundant Encoding) is disabled for audio */ disableRed: boolean; } /** provide information about available spatial layers */ export interface VideoLayer { /** for tracks with a single layer, this should be HIGH */ quality: VideoQuality; width: number; height: number; /** target bitrate, server will measure actual */ bitrate: number; ssrc: number; } /** new DataPacket API */ export interface DataPacket { kind: DataPacket_Kind; user?: UserPacket | undefined; speaker?: ActiveSpeakerUpdate | undefined; } export declare enum DataPacket_Kind { RELIABLE = 0, LOSSY = 1, UNRECOGNIZED = -1 } export declare function dataPacket_KindFromJSON(object: any): DataPacket_Kind; export declare function dataPacket_KindToJSON(object: DataPacket_Kind): string; export interface ActiveSpeakerUpdate { speakers: SpeakerInfo[]; } export interface SpeakerInfo { sid: string; /** audio level, 0-1.0, 1 is loudest */ level: number; /** true if speaker is currently active */ active: boolean; } export interface UserPacket { /** participant ID of user that sent the message */ participantSid: string; /** user defined payload */ payload: Uint8Array; /** the ID of the participants who will receive the message (the message will be sent to all the people in the room if this variable is empty) */ destinationSids: string[]; } export interface ParticipantTracks { /** participant ID of participant to whom the tracks belong */ participantSid: string; trackSids: string[]; } /** details about the server */ export interface ServerInfo { edition: ServerInfo_Edition; version: string; protocol: number; region: string; nodeId: string; /** additional debugging information. sent only if server is in development mode */ debugInfo: string; } export declare enum ServerInfo_Edition { Standard = 0, Cloud = 1, UNRECOGNIZED = -1 } export declare function serverInfo_EditionFromJSON(object: any): ServerInfo_Edition; export declare function serverInfo_EditionToJSON(object: ServerInfo_Edition): string; /** details about the client */ export interface ClientInfo { sdk: ClientInfo_SDK; version: string; protocol: number; os: string; osVersion: string; deviceModel: string; browser: string; browserVersion: string; address: string; /** wifi, wired, cellular, vpn, empty if not known */ network: string; } export declare enum ClientInfo_SDK { UNKNOWN = 0, JS = 1, SWIFT = 2, ANDROID = 3, FLUTTER = 4, GO = 5, UNITY = 6, UNRECOGNIZED = -1 } export declare function clientInfo_SDKFromJSON(object: any): ClientInfo_SDK; export declare function clientInfo_SDKToJSON(object: ClientInfo_SDK): string; /** server provided client configuration */ export interface ClientConfiguration { video?: VideoConfiguration; screen?: VideoConfiguration; resumeConnection: ClientConfigSetting; disabledCodecs?: DisabledCodecs; forceRelay: ClientConfigSetting; } export interface VideoConfiguration { hardwareEncoder: ClientConfigSetting; } export interface DisabledCodecs { codecs: Codec[]; } export interface RTPStats { startTime?: Date; endTime?: Date; duration: number; packets: number; packetRate: number; bytes: number; headerBytes: number; bitrate: number; packetsLost: number; packetLossRate: number; packetLossPercentage: number; packetsDuplicate: number; packetDuplicateRate: number; bytesDuplicate: number; headerBytesDuplicate: number; bitrateDuplicate: number; packetsPadding: number; packetPaddingRate: number; bytesPadding: number; headerBytesPadding: number; bitratePadding: number; packetsOutOfOrder: number; frames: number; frameRate: number; jitterCurrent: number; jitterMax: number; gapHistogram: { [key: number]: number; }; nacks: number; nackAcks: number; nackMisses: number; nackRepeated: number; plis: number; lastPli?: Date; firs: number; lastFir?: Date; rttCurrent: number; rttMax: number; keyFrames: number; lastKeyFrame?: Date; layerLockPlis: number; lastLayerLockPli?: Date; } export interface RTPStats_GapHistogramEntry { key: number; value: number; } export interface TimedVersion { unixMicro: number; ticks: number; } export declare const Room: { encode(message: Room, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Room; fromJSON(object: any): Room; toJSON(message: Room): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; metadata?: string | undefined; numParticipants?: number | undefined; activeRecording?: boolean | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Room; }; export declare const Codec: { encode(message: Codec, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Codec; fromJSON(object: any): Codec; toJSON(message: Codec): unknown; fromPartial]: never; }>(object: I): Codec; }; export declare const ParticipantPermission: { encode(message: ParticipantPermission, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ParticipantPermission; fromJSON(object: any): ParticipantPermission; toJSON(message: ParticipantPermission): unknown; fromPartial]: never; }>(object: I): ParticipantPermission; }; export declare const ParticipantInfo: { encode(message: ParticipantInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ParticipantInfo; fromJSON(object: any): ParticipantInfo; toJSON(message: ParticipantInfo): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; mimeType?: string | undefined; mid?: string | undefined; codecs?: ({ mimeType?: string | undefined; mid?: string | undefined; cid?: string | undefined; layers?: { quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; }[] | undefined; }[] & ({ mimeType?: string | undefined; mid?: string | undefined; cid?: string | undefined; layers?: { quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; }[] | undefined; } & { mimeType?: string | undefined; mid?: string | undefined; cid?: string | undefined; layers?: ({ quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; }[] & ({ quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; } & { quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; } & { [K_2 in Exclude]: never; })[] & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; })[] & { [K_5 in Exclude]: never; }) | undefined; stereo?: boolean | undefined; disableRed?: boolean | undefined; } & { [K_6 in Exclude]: never; })[] & { [K_7 in Exclude]: never; }) | undefined; metadata?: string | undefined; joinedAt?: number | undefined; name?: string | undefined; version?: number | undefined; permission?: ({ canSubscribe?: boolean | undefined; canPublish?: boolean | undefined; canPublishData?: boolean | undefined; hidden?: boolean | undefined; recorder?: boolean | undefined; } & { canSubscribe?: boolean | undefined; canPublish?: boolean | undefined; canPublishData?: boolean | undefined; hidden?: boolean | undefined; recorder?: boolean | undefined; } & { [K_8 in Exclude]: never; }) | undefined; region?: string | undefined; isPublisher?: boolean | undefined; } & { [K_9 in Exclude]: never; }>(object: I): ParticipantInfo; }; export declare const SimulcastCodecInfo: { encode(message: SimulcastCodecInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): SimulcastCodecInfo; fromJSON(object: any): SimulcastCodecInfo; toJSON(message: SimulcastCodecInfo): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): SimulcastCodecInfo; }; export declare const TrackInfo: { encode(message: TrackInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): TrackInfo; fromJSON(object: any): TrackInfo; toJSON(message: TrackInfo): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; mimeType?: string | undefined; mid?: string | undefined; codecs?: ({ mimeType?: string | undefined; mid?: string | undefined; cid?: string | undefined; layers?: { quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; }[] | undefined; }[] & ({ mimeType?: string | undefined; mid?: string | undefined; cid?: string | undefined; layers?: { quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; }[] | undefined; } & { mimeType?: string | undefined; mid?: string | undefined; cid?: string | undefined; layers?: ({ quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; }[] & ({ quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; } & { quality?: VideoQuality | undefined; width?: number | undefined; height?: number | undefined; bitrate?: number | undefined; ssrc?: number | undefined; } & { [K_2 in Exclude]: never; })[] & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; })[] & { [K_5 in Exclude]: never; }) | undefined; stereo?: boolean | undefined; disableRed?: boolean | undefined; } & { [K_6 in Exclude]: never; }>(object: I): TrackInfo; }; export declare const VideoLayer: { encode(message: VideoLayer, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): VideoLayer; fromJSON(object: any): VideoLayer; toJSON(message: VideoLayer): unknown; fromPartial]: never; }>(object: I): VideoLayer; }; export declare const DataPacket: { encode(message: DataPacket, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): DataPacket; fromJSON(object: any): DataPacket; toJSON(message: DataPacket): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; speaker?: ({ speakers?: { sid?: string | undefined; level?: number | undefined; active?: boolean | undefined; }[] | undefined; } & { speakers?: ({ sid?: string | undefined; level?: number | undefined; active?: boolean | undefined; }[] & ({ sid?: string | undefined; level?: number | undefined; active?: boolean | undefined; } & { sid?: string | undefined; level?: number | undefined; active?: boolean | undefined; } & { [K_2 in Exclude]: never; })[] & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; }>(object: I): DataPacket; }; export declare const ActiveSpeakerUpdate: { encode(message: ActiveSpeakerUpdate, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ActiveSpeakerUpdate; fromJSON(object: any): ActiveSpeakerUpdate; toJSON(message: ActiveSpeakerUpdate): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): ActiveSpeakerUpdate; }; export declare const SpeakerInfo: { encode(message: SpeakerInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): SpeakerInfo; fromJSON(object: any): SpeakerInfo; toJSON(message: SpeakerInfo): unknown; fromPartial]: never; }>(object: I): SpeakerInfo; }; export declare const UserPacket: { encode(message: UserPacket, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): UserPacket; fromJSON(object: any): UserPacket; toJSON(message: UserPacket): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): UserPacket; }; export declare const ParticipantTracks: { encode(message: ParticipantTracks, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ParticipantTracks; fromJSON(object: any): ParticipantTracks; toJSON(message: ParticipantTracks): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): ParticipantTracks; }; export declare const ServerInfo: { encode(message: ServerInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ServerInfo; fromJSON(object: any): ServerInfo; toJSON(message: ServerInfo): unknown; fromPartial]: never; }>(object: I): ServerInfo; }; export declare const ClientInfo: { encode(message: ClientInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ClientInfo; fromJSON(object: any): ClientInfo; toJSON(message: ClientInfo): unknown; fromPartial]: never; }>(object: I): ClientInfo; }; export declare const ClientConfiguration: { encode(message: ClientConfiguration, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ClientConfiguration; fromJSON(object: any): ClientConfiguration; toJSON(message: ClientConfiguration): unknown; fromPartial]: never; }) | undefined; screen?: ({ hardwareEncoder?: ClientConfigSetting | undefined; } & { hardwareEncoder?: ClientConfigSetting | undefined; } & { [K_1 in Exclude]: never; }) | undefined; resumeConnection?: ClientConfigSetting | undefined; disabledCodecs?: ({ codecs?: { mime?: string | undefined; fmtpLine?: string | undefined; }[] | undefined; } & { codecs?: ({ mime?: string | undefined; fmtpLine?: string | undefined; }[] & ({ mime?: string | undefined; fmtpLine?: string | undefined; } & { mime?: string | undefined; fmtpLine?: string | undefined; } & { [K_2 in Exclude]: never; })[] & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }) | undefined; forceRelay?: ClientConfigSetting | undefined; } & { [K_5 in Exclude]: never; }>(object: I): ClientConfiguration; }; export declare const VideoConfiguration: { encode(message: VideoConfiguration, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): VideoConfiguration; fromJSON(object: any): VideoConfiguration; toJSON(message: VideoConfiguration): unknown; fromPartial]: never; }>(object: I): VideoConfiguration; }; export declare const DisabledCodecs: { encode(message: DisabledCodecs, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): DisabledCodecs; fromJSON(object: any): DisabledCodecs; toJSON(message: DisabledCodecs): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): DisabledCodecs; }; export declare const RTPStats: { encode(message: RTPStats, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RTPStats; fromJSON(object: any): RTPStats; toJSON(message: RTPStats): unknown; fromPartial]: never; }) | undefined; nacks?: number | undefined; nackAcks?: number | undefined; nackMisses?: number | undefined; nackRepeated?: number | undefined; plis?: number | undefined; lastPli?: Date | undefined; firs?: number | undefined; lastFir?: Date | undefined; rttCurrent?: number | undefined; rttMax?: number | undefined; keyFrames?: number | undefined; lastKeyFrame?: Date | undefined; layerLockPlis?: number | undefined; lastLayerLockPli?: Date | undefined; } & { [K_1 in Exclude]: never; }>(object: I): RTPStats; }; export declare const RTPStats_GapHistogramEntry: { encode(message: RTPStats_GapHistogramEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RTPStats_GapHistogramEntry; fromJSON(object: any): RTPStats_GapHistogramEntry; toJSON(message: RTPStats_GapHistogramEntry): unknown; fromPartial]: never; }>(object: I): RTPStats_GapHistogramEntry; }; export declare const TimedVersion: { encode(message: TimedVersion, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): TimedVersion; fromJSON(object: any): TimedVersion; toJSON(message: TimedVersion): unknown; fromPartial]: never; }>(object: I): TimedVersion; }; declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export {};