import React, { ReactNode } from "react";
import { Room } from "matrix-js-sdk/src/matrix";
import { ButtonEvent } from "../elements/AccessibleButton";
interface IProps {
    space: Room;
    onCreateRoomClick(ev: ButtonEvent): void;
    onAddSubspaceClick(): void;
    onFinished(added?: boolean): void;
}
export declare const Entry: React.FC<{
    room: Room;
    checked: boolean;
    onChange?(value: boolean): void;
}>;
type OnChangeFn = (checked: boolean, room: Room) => void;
type Renderer = (rooms: Room[], selectedToAdd: Set<Room>, scrollState: IScrollState, onChange: undefined | OnChangeFn) => ReactNode;
interface IAddExistingToSpaceProps {
    space: Room;
    footerPrompt?: ReactNode;
    filterPlaceholder: string;
    emptySelectionButton?: ReactNode;
    onFinished(added: boolean): void;
    roomsRenderer?: Renderer;
    spacesRenderer?: Renderer;
    dmsRenderer?: Renderer;
}
interface IScrollState {
    scrollTop: number;
    height: number;
}
export declare const AddExistingToSpace: React.FC<IAddExistingToSpaceProps>;
export declare const defaultRoomsRenderer: Renderer;
export declare const defaultSpacesRenderer: Renderer;
export declare const defaultDmsRenderer: Renderer;
interface ISubspaceSelectorProps {
    title: string;
    space: Room;
    value: Room;
    onChange(space: Room): void;
}
export declare const SubspaceSelector: React.FC<ISubspaceSelectorProps>;
declare const AddExistingToSpaceDialog: React.FC<IProps>;
export default AddExistingToSpaceDialog;
