import type { AccessClaims } from "../identity.ts";
import type { KnownApps } from "../deps.ts";
import { type NotificationSink } from "../notifications.ts";
export declare function createRoom(claims: AccessClaims, body: unknown, knownApps: KnownApps): Promise<Record<string, unknown>>;
export declare function listRooms(claims: AccessClaims): Promise<Record<string, unknown>>;
export declare function getRoom(claims: AccessClaims, roomId: string): Promise<Record<string, unknown>>;
export declare function patchRoom(claims: AccessClaims, roomId: string, body: unknown): Promise<Record<string, unknown>>;
export declare function joinRoom(claims: AccessClaims, body: unknown, notify: NotificationSink | undefined): Promise<Record<string, unknown>>;
export declare function leaveRoom(claims: AccessClaims, roomId: string, notify: NotificationSink | undefined): Promise<{
    ok: true;
}>;
export declare function setMemberRole(claims: AccessClaims, roomId: string, targetUserId: string, body: unknown): Promise<Record<string, unknown>>;
export declare function kickMember(claims: AccessClaims, roomId: string, targetUserId: string): Promise<{
    ok: true;
}>;
export declare function rotateJoinCode(claims: AccessClaims, roomId: string): Promise<Record<string, unknown>>;
export declare function archiveRoom(claims: AccessClaims, roomId: string): Promise<Record<string, unknown>>;
