import React from "react";
import { Room, RoomMember } from "matrix-js-sdk/src/matrix";
import Timer from "../../../utils/Timer";
interface IProps {
    room: Room;
    onShown?: () => void;
    onHidden?: () => void;
    whoIsTypingLimit: number;
}
interface IState {
    usersTyping: RoomMember[];
    delayedStopTypingTimers: Record<string, Timer>;
}
export default class WhoIsTypingTile extends React.Component<IProps, IState> {
    static defaultProps: {
        whoIsTypingLimit: number;
    };
    state: IState;
    componentDidMount(): void;
    componentDidUpdate(prevProps: IProps, prevState: IState): void;
    componentWillUnmount(): void;
    private static isVisible;
    isVisible: () => boolean;
    private onRoomTimeline;
    private onRoomMemberTyping;
    private updateDelayedStopTypingTimers;
    private abortUserTimer;
    private removeUserTimer;
    private renderTypingIndicatorAvatars;
    render(): React.ReactNode;
}
export {};
