import React from "react";
import { MatrixEvent, Room, SyncState, SyncStateData } from "matrix-js-sdk/src/matrix";
import MatrixClientContext from "../../contexts/MatrixClientContext";
export declare function getUnsentMessages(room: Room, threadId?: string): MatrixEvent[];
interface IProps {
    room: Room;
    isPeeking?: boolean;
    onResendAllClick?: () => void;
    onCancelAllClick?: () => void;
    onInviteClick?: () => void;
    onResize?: () => void;
    onHidden?: () => void;
    onVisible?: () => void;
}
interface IState {
    syncState: SyncState | null;
    syncStateData: SyncStateData | null;
    unsentMessages: MatrixEvent[];
    isResending: boolean;
}
export default class RoomStatusBar extends React.PureComponent<IProps, IState> {
    private unmounted;
    static contextType: React.Context<import("matrix-js-sdk/src/client").MatrixClient>;
    context: React.ContextType<typeof MatrixClientContext>;
    constructor(props: IProps, context: React.ContextType<typeof MatrixClientContext>);
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    private onSyncStateChange;
    private onResendAllClick;
    private onCancelAllClick;
    private onRoomLocalEchoUpdated;
    private checkSize;
    private getSize;
    private shouldShowConnectionError;
    private getUnsentMessageContent;
    render(): React.ReactNode;
}
export {};
