import { Room, RoomAvailable } from "./Room"; import { Auth } from "./Auth"; import { SchemaConstructor } from "./serializer/SchemaSerializer"; export declare type JoinOptions = any; export declare class MatchMakeError extends Error { code: number; constructor(message: string, code: number); } export declare class Client { protected endpoint: string; protected _auth: Auth; constructor(endpoint?: string); get auth(): Auth; joinOrCreate(roomName: string, options?: JoinOptions, rootSchema?: SchemaConstructor): Promise>; create(roomName: string, options?: JoinOptions, rootSchema?: SchemaConstructor): Promise>; join(roomName: string, options?: JoinOptions, rootSchema?: SchemaConstructor): Promise>; joinById(roomId: string, options?: JoinOptions, rootSchema?: SchemaConstructor): Promise>; reconnect(roomId: string, sessionId: string, rootSchema?: SchemaConstructor): Promise>; getAvailableRooms(roomName?: string): Promise[]>; consumeSeatReservation(response: any, rootSchema?: SchemaConstructor): Promise>; protected createMatchMakeRequest(method: string, roomName: string, options?: JoinOptions, rootSchema?: SchemaConstructor): Promise>; protected createRoom(roomName: string, rootSchema?: SchemaConstructor): Room; protected buildEndpoint(room: any, options?: any): string; }