import EventEmitter from "events";
import { RoomDiscovery, RoomExplorer } from "./RoomDiscovery";
import { GatedBackgroundTask, PolicyRuleChange } from "matrix-protection-suite";
import { SynapseAdminClient } from "matrix-protection-suite-for-matrix-bot-sdk";
export declare class SynapseRoomListRoomExplorer extends EventEmitter implements RoomExplorer {
    private readonly cooldownMS;
    private readonly scanIntervalMS;
    private readonly scanner;
    private readonly gate;
    private backgroundScan;
    private createScanLoop;
    constructor(cooldownMS: number, scanIntervalMS: number, scanner: SynapseRoomListScanner);
    unregisterListeners(): void;
    handlePolicyChange(change: PolicyRuleChange[]): void;
    private scanRoomDirectory;
}
export declare class SynapseRoomListScanner {
    private readonly roomDiscovery;
    private readonly synapseAdminClient;
    constructor(roomDiscovery: RoomDiscovery, synapseAdminClient: SynapseAdminClient);
    private dealWithPage;
    scanRoomDirectory(taskTracker: GatedBackgroundTask): Promise<void>;
}
//# sourceMappingURL=SynapseRoomListRoomExplorerer.d.ts.map