/// <reference types="react" />
import { MainStateManager } from "../MainStateManager";
import { IMainStateFactory } from "../Types";
import { ToolStripButtonFactory } from "./ToolStrip/ToolStripButtonFactory";
export type IPopupMouseLocation = MouseLocationOfPopup | React.MouseEvent | ToolStripButtonFactory | ToolStripButtonFactory;
export declare class MouseLocationOfPopup {
    X: number;
    Y: number;
    constructor(X: number, Y: number);
    static buildNew(e: React.MouseEvent): MouseLocationOfPopup;
}
export declare class PopupFactory {
    mainStateFactory: IMainStateFactory;
    children: JSX.Element | null;
    mouseLocation?: IPopupMouseLocation | undefined;
    onClosePopup?: (() => void) | undefined;
    mainStateManager: MainStateManager;
    id: string;
    popupRoot: HTMLElement;
    backdropDivElement: HTMLDivElement;
    mainDivElement: HTMLDivElement;
    forceUpdate: () => void;
    constructor(mainStateFactory: IMainStateFactory, children: JSX.Element | null, mouseLocation?: IPopupMouseLocation | undefined, onClosePopup?: (() => void) | undefined);
    closeByClick(e: any): void;
    close(): void;
}
