/**
 * Manages the list of encrypted rooms
 */
import { CryptoStore } from "./store/base";
export interface IRoomEncryption {
    algorithm: string;
    rotation_period_ms?: number;
    rotation_period_msgs?: number;
}
/**
 * Information about the encryption settings of rooms. Loads this information
 * from the supplied crypto store when `init()` is called, and saves it to the
 * crypto store whenever it is updated via `setRoomEncryption()`. Can supply
 * full information about a room's encryption via `getRoomEncryption()`, or just
 * answer whether or not a room has encryption via `isRoomEncrypted`.
 */
export declare class RoomList {
    private readonly cryptoStore?;
    private roomEncryption;
    constructor(cryptoStore?: CryptoStore | undefined);
    init(): Promise<void>;
    getRoomEncryption(roomId: string): IRoomEncryption | null;
    isRoomEncrypted(roomId: string): boolean;
    setRoomEncryption(roomId: string, roomInfo: IRoomEncryption): Promise<void>;
}
//# sourceMappingURL=RoomList.d.ts.map