import * as React from "react";
import { CSSProperties, ReactNode } from "react";
import { BaseComponent } from "../../core/BaseComponent";
import { Menu_Model, MenuListener } from "./MenuModule";
import { Adapter } from "../../components/adapter/Adapter";
import { MenuPosition } from "./PopupMenu";
type Props = {
    id: string;
    iconOpen: ReactNode;
    iconClosed: ReactNode;
    adapter: Adapter;
    resolvePosition?: (button: HTMLImageElement) => MenuPosition;
    css?: CSSProperties;
};
export declare class MenuAndButton extends BaseComponent<Props, {
    isOpen: boolean;
    over: boolean;
}> implements MenuListener {
    ref: React.RefObject<HTMLImageElement>;
    state: {
        isOpen: boolean;
        over: boolean;
    };
    __onMenuHide: (id: string) => void;
    __onMenuDisplay: (menu: Menu_Model) => void;
    render(): React.JSX.Element;
    open: () => void;
}
export {};
