import _m0 from "protobufjs/minimal"; import { Empty } from "./google/protobuf/empty"; export declare const protobufPackage = "livekit"; export declare enum RecordingPreset { /** NONE - All presets use 44100 Hz, 128k bitrate for audio and a color depth of 24 */ NONE = 0, /** HD_30 - 720p, 30fps, 3000 kpbs */ HD_30 = 1, /** HD_60 - 720p, 60fps, 4500 kbps */ HD_60 = 2, /** FULL_HD_30 - 1080p, 30fps, 4500 kbps */ FULL_HD_30 = 3, /** FULL_HD_60 - 1080p, 60fps, 6000 kbps */ FULL_HD_60 = 4, UNRECOGNIZED = -1 } export declare function recordingPresetFromJSON(object: any): RecordingPreset; export declare function recordingPresetToJSON(object: RecordingPreset): string; export interface StartRecordingRequest { url: string | undefined; template?: RecordingTemplate | undefined; rtmp?: RtmpOutput | undefined; filepath: string | undefined; options?: RecordingOptions; } export interface RecordingTemplate { layout: string; roomName: string; /** defaults to https://recorder.livekit.io */ baseUrl: string; } export interface RtmpOutput { urls: string[]; } export interface RecordingOptions { preset: RecordingPreset; /** default 1920 */ width: number; /** default 1080 */ height: number; /** default 24 */ depth: number; /** default 30 */ framerate: number; /** default 128 */ audioBitrate: number; /** default 44100 */ audioFrequency: number; /** default 4500 */ videoBitrate: number; } export interface StartRecordingResponse { recordingId: string; } export interface AddOutputRequest { recordingId: string; rtmpUrl: string; } export interface RemoveOutputRequest { recordingId: string; rtmpUrl: string; } export interface EndRecordingRequest { recordingId: string; } export interface RecordingInfo { id: string; roomName: string; active: boolean; error: string; file?: FileResult; rtmp: RtmpResult[]; } export interface FileResult { downloadUrl: string; duration: number; } export interface RtmpResult { streamUrl: string; duration: number; } export declare const StartRecordingRequest: { encode(message: StartRecordingRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): StartRecordingRequest; fromJSON(object: any): StartRecordingRequest; toJSON(message: StartRecordingRequest): unknown; fromPartial(object: DeepPartial): StartRecordingRequest; }; export declare const RecordingTemplate: { encode(message: RecordingTemplate, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RecordingTemplate; fromJSON(object: any): RecordingTemplate; toJSON(message: RecordingTemplate): unknown; fromPartial(object: DeepPartial): RecordingTemplate; }; export declare const RtmpOutput: { encode(message: RtmpOutput, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RtmpOutput; fromJSON(object: any): RtmpOutput; toJSON(message: RtmpOutput): unknown; fromPartial(object: DeepPartial): RtmpOutput; }; export declare const RecordingOptions: { encode(message: RecordingOptions, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RecordingOptions; fromJSON(object: any): RecordingOptions; toJSON(message: RecordingOptions): unknown; fromPartial(object: DeepPartial): RecordingOptions; }; export declare const StartRecordingResponse: { encode(message: StartRecordingResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): StartRecordingResponse; fromJSON(object: any): StartRecordingResponse; toJSON(message: StartRecordingResponse): unknown; fromPartial(object: DeepPartial): StartRecordingResponse; }; export declare const AddOutputRequest: { encode(message: AddOutputRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): AddOutputRequest; fromJSON(object: any): AddOutputRequest; toJSON(message: AddOutputRequest): unknown; fromPartial(object: DeepPartial): AddOutputRequest; }; export declare const RemoveOutputRequest: { encode(message: RemoveOutputRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RemoveOutputRequest; fromJSON(object: any): RemoveOutputRequest; toJSON(message: RemoveOutputRequest): unknown; fromPartial(object: DeepPartial): RemoveOutputRequest; }; export declare const EndRecordingRequest: { encode(message: EndRecordingRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): EndRecordingRequest; fromJSON(object: any): EndRecordingRequest; toJSON(message: EndRecordingRequest): unknown; fromPartial(object: DeepPartial): EndRecordingRequest; }; export declare const RecordingInfo: { encode(message: RecordingInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RecordingInfo; fromJSON(object: any): RecordingInfo; toJSON(message: RecordingInfo): unknown; fromPartial(object: DeepPartial): RecordingInfo; }; export declare const FileResult: { encode(message: FileResult, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): FileResult; fromJSON(object: any): FileResult; toJSON(message: FileResult): unknown; fromPartial(object: DeepPartial): FileResult; }; export declare const RtmpResult: { encode(message: RtmpResult, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RtmpResult; fromJSON(object: any): RtmpResult; toJSON(message: RtmpResult): unknown; fromPartial(object: DeepPartial): RtmpResult; }; /** * Recording service that can be performed on any node * they are Twirp-based HTTP req/responses */ export interface RecordingService { /** Starts a room */ StartRecording(request: StartRecordingRequest): Promise; /** Adds an rtmp output to a live recording */ AddOutput(request: AddOutputRequest): Promise; /** Removes an rtmp output from a live recording */ RemoveOutput(request: RemoveOutputRequest): Promise; /** Ends a recording */ EndRecording(request: EndRecordingRequest): Promise; } 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; export {};