import { RoomType, IPublicRoomsChunkRoom } from "matrix-js-sdk/src/matrix";
import { IPublicRoomDirectoryConfig } from "../components/views/directory/NetworkDropdown";
import { Protocols } from "../utils/DirectoryUtils";
export declare const ALL_ROOMS = "ALL_ROOMS";
export interface IPublicRoomsOpts {
    limit: number;
    query?: string;
    roomTypes?: Set<RoomType | null>;
}
export declare const usePublicRoomDirectory: () => {
    ready: boolean;
    loading: boolean;
    publicRooms: IPublicRoomsChunkRoom[];
    protocols: Protocols | null;
    config?: IPublicRoomDirectoryConfig | null;
    setConfig(config: IPublicRoomDirectoryConfig | null): void;
    search(opts: IPublicRoomsOpts): Promise<boolean>;
    error?: Error | true;
};
