import { Room } from "./Room"; import type { MayDbIndexHandle, MayDbSchema, MatrixClient, Session } from "./types"; export declare class MayDb { readonly session: Session; readonly userId: string; readonly namespace: string; readonly schema: MayDbSchema; /** @internal */ readonly matrixClient: MatrixClient; private readonly roomCache; private readonly indexRuntime; private invitePollInterval; private invitePollInFlight; constructor(options: { session: Session; namespace: string; schema: MayDbSchema; }); readonly rooms: { open: (roomId: string) => Room; create: (options: { name: string; roomType: string; }) => Promise; getOrCreateSingleton: (options: { key: string; name: string; roomType: string; }) => Promise; }; readonly indexes: { open: (options: { indexName: string; indexRoomId?: string; }) => MayDbIndexHandle; }; disposeAll(): void; logout(): Promise; private openRoom; private createMatrixRoom; private resolveSingletonRoom; private startInviteIndexer; private stopInviteIndexer; private pollPendingInvites; private runInvitePoll; private joinPendingInvite; private fetchPendingInvites; private persistRoomTypeInDocument; } //# sourceMappingURL=MayDb.d.ts.map