import React from "react";
import { EventTimelineSet, MatrixEvent, Room } from "matrix-js-sdk/src/matrix";
import ResizeNotifier from "../../utils/ResizeNotifier";
import RoomContext from "../../contexts/RoomContext";
interface IProps {
    roomId: string;
    onClose: () => void;
    resizeNotifier: ResizeNotifier;
}
interface IState {
    timelineSet: EventTimelineSet | null;
    narrow: boolean;
}
declare class FilePanel extends React.Component<IProps, IState> {
    static contextType: React.Context<import("./RoomView").IRoomState & {
        threadId?: string;
    }>;
    context: React.ContextType<typeof RoomContext>;
    private decryptingEvents;
    noRoom: boolean;
    private card;
    state: IState;
    private onRoomTimeline;
    private onEventDecrypted;
    addEncryptedLiveEvent(ev: MatrixEvent): void;
    componentDidMount(): Promise<void>;
    componentWillUnmount(): void;
    fetchFileEventsServer(room: Room): Promise<EventTimelineSet>;
    private onPaginationRequest;
    private onMeasurement;
    updateTimelineSet(roomId: string): Promise<void>;
    render(): React.ReactNode;
}
export default FilePanel;
