import { SkyWayContext } from '@skyway-sdk/core'; import { SfuApiOptions, SfuBotPluginOptions } from '@skyway-sdk/sfu-bot'; import { P2PRoom } from './p2p'; import { SfuRoom } from './sfu'; export type { SfuApiOptions, SfuBotPluginOptions }; export declare class SkyWayRoom { /**@private */ constructor(); /** * @description [japanese] Roomの作成 */ static Create: (context: SkyWayContext, init: Init) => Promise; /** * @description [japanese] 既存のRoomの取得 */ static Find: (context: SkyWayContext, query: { id?: string; name?: string; }, roomType: Type, options?: (Type extends "sfu" ? SfuRoomOptions : void) | undefined) => Promise; /** * @description [japanese] Roomの取得を試み、存在しなければ作成する */ static FindOrCreate: (context: SkyWayContext, init: Init) => Promise; private static _Factory; } export declare type RoomInit = P2PRoomInit | SfuRoomInit; export declare type RoomInitBase = { name?: string; metadata?: string; type: RoomType; }; export declare type P2PRoomInit = RoomInitBase & { type: 'p2p'; }; export declare type SfuRoomOptions = { sfu: Partial; }; export declare type SfuRoomInit = RoomInitBase & { type: 'sfu'; options?: Partial; }; export declare const roomTypes: readonly ["sfu", "p2p"]; export declare type RoomType = (typeof roomTypes)[number]; //# sourceMappingURL=index.d.ts.map