import { PopoverOrigin } from "@mui/material/Popover";
import React from "react";
/**
 * Button popover props
 */
export type ButtonPopoverProps<T> = {
    /**
     * Button component
     * @param callback Button click callback
     * @returns Layout
     */
    button: (callback: (handler: HTMLElement | null) => void) => React.ReactNode;
    /**
     * Children component
     * @param data Data
     * @returns Layout
     */
    children: (data: T | null) => React.ReactNode;
    /**
     * Load data
     * @returns Data promise
     */
    loadData?: () => Promise<T | undefined>;
    /**
     * Position
     */
    position?: PopoverOrigin["horizontal"];
};
/**
 * Button popover component
 * @param props Props
 * @returns Component
 */
export declare function ButtonPopover<T>(props: ButtonPopoverProps<T>): import("react/jsx-runtime").JSX.Element;
