import { Paged, Rest } from "../../../lib/Rest";
import { Room } from "../../../models/room";
import { RoomState } from "../../../models/room-state";
import { ApiModule } from "..";
import { Role } from "../../../models/role";
import { RoomBan } from "../../../models/room-ban";
export default class RoomService extends Rest<Room> {
    constructor(api: ApiModule);
    myRooms(params?: {}): Promise<Paged<Room>>;
    getCurrent(): Promise<RoomState | null>;
    save(room: Partial<Room>): Promise<any>;
    getRoles(roomId: string): Promise<Map<string, Role>>;
    addRole(roomId: string, role: Omit<Role, "id">, params?: {}): Promise<any>;
    browser(params?: {}): Promise<Paged<Room>>;
    getBans(roomId: string, params?: {}): Promise<Paged<RoomBan>>;
    banUser(roomId: string, userId: string, reason: string, expires?: Date | null): Promise<any>;
    unbanUser(roomId: string, banId: string): Promise<any>;
}
