import RealtimeKitClient from "@cloudflare/realtimekit"; declare global { interface Window { dyteRecordingSdk?: boolean; realtimeKitRecordingSdk?: boolean; devMode?: boolean; } } declare class RealtimeKitRecording { #private; /** * This method is used to instantiate the RealtimeKitRecording class. * @param options The options object. * @param options.waitTimeMs The time it waits after all the peer have left to leave the meeting. (If you pass * autoStop as false, this option is ignored) * @param options.autoStart If you wish to start recording as soon as the `init` is called. * @param options.autoStop If you wish to disable automatic peer leave and call `stopRecording` manually set this to `false`. * @param options.scanInterval Interval between scans for automatic peer leave. * @param options.websocketUrl The url of the websocket server to connect to. Defaults to localhost:8080/ws. Do not change this unless you know what you are doing. */ constructor(options: { waitTimeMs?: number; autoStart?: boolean; autoStop?: boolean; scanInterval?: number; websocketUrl?: string; devMode?: boolean; }); /** * The `init` method can be used to instantiate the RealtimeKitRecording class. * @param client The RealtimeKitClient instance. */ init(client: RealtimeKitClient): Promise; /** * The `startRecording` method can be used to manually start recording. * Make sure meeting is not already joined before calling this method. * @note This method has a timeout of 2mins. If this method is not called within 2mins of the websocket * being connected, the recording will error out. */ startRecording(): Promise; /** * The `stopRecording` method can be used to stop recording. * @throws Error if `autoStop` is true. */ stopRecording(): void; /** * The `cleanup` method can be used to cleanup the SDK. */ cleanup(): Promise; private performOnPageLoadChecks; private sdkInitTests; } export default RealtimeKitRecording;