import TexturePainter from "parsegraph-texturepainter";
import Navport from "./Navport";
import { Projector } from "parsegraph-projector";
import Method from "parsegraph-method";
export declare enum MenuIcon {
    MAIN = 0,
    UNDO = 1,
    REDO = 2,
    VSPLIT = 3,
    HSPLIT = 4,
    RESET_CAMERA = 5,
    CLOSE = 6
}
declare class BurgerMenuLocation {
    icon: MenuIcon;
    location: number;
}
declare class BurgerMenuScene {
    _menu: BurgerMenu;
    _projector: Projector;
    _iconTexture: WebGLTexture;
    _iconPainter: TexturePainter;
    _iconImage: HTMLImageElement;
    _iconReady: boolean;
    _search: HTMLElement;
    constructor(menu: BurgerMenu, proj: Projector);
    menu(): BurgerMenu;
    projector(): Projector;
    drawIcon(iconIndex: MenuIcon, x: number, y?: number): void;
    paint(): void;
    render(): void;
    dispose(): void;
}
export default class BurgerMenu {
    _viewport: Navport;
    _scenes: Map<Projector, BurgerMenuScene>;
    _menuOpened: boolean;
    _menuHovered: MenuIcon;
    _iconLocations: BurgerMenuLocation[];
    _showSplit: boolean;
    _undoAction: Method;
    _redoAction: Method;
    _searchCallback: Method;
    _searchPlaceholder: string;
    viewport(): Navport;
    opened(): boolean;
    hovered(): MenuIcon;
    eachIcon(cb: (bl: BurgerMenuLocation) => void): void;
    constructor(viewport: Navport);
    search(cmd: string): boolean;
    setSearchPlaceholder(text: string): void;
    setSearchCallback(cb: Function, obj?: object): void;
    searchPlaceholder(): string;
    setRedoAction(cb: Function, obj?: object): void;
    setUndoAction(cb: Function, obj?: object): void;
    showSplit(show?: boolean): boolean;
    mount(): void;
    scheduleRepaint(): void;
    scheduleRender(): void;
    getIcon(x: number, y: number): MenuIcon;
    onMousemove(x: number, y: number): boolean;
    onMousedown(x: number, y: number): boolean;
    unmount(): void;
    dispose(): void;
    closeMenu(): void;
    paint(proj: Projector): void;
    render(proj: Projector): boolean;
}
export {};
//# sourceMappingURL=BurgerMenu.d.ts.map