import React from "react";
import { RightPanelPhases } from "../../../stores/right-panel/RightPanelStorePhases";
import { NotificationLevel } from "../../../stores/notifications/NotificationLevel";
export declare enum HeaderKind {
    Room = "room"
}
interface IState {
    headerKind: HeaderKind;
    phase: RightPanelPhases | null;
    threadNotificationLevel: NotificationLevel;
    globalNotificationLevel: NotificationLevel;
    notificationsEnabled?: boolean;
}
interface IProps {
}
export default abstract class HeaderButtons<P = {}> extends React.Component<IProps & P, IState> {
    private unmounted;
    private dispatcherRef?;
    private readonly watcherRef;
    constructor(props: IProps & P, kind: HeaderKind);
    componentDidMount(): void;
    componentWillUnmount(): void;
    isPhase(phases: string | string[]): boolean;
    private onRightPanelStoreUpdate;
    abstract renderButtons(): JSX.Element;
    render(): React.ReactNode;
}
export {};
