/// <reference types="react" />
interface IKeyObjects<V> {
    [key: string | number]: V;
}
export interface ICFloatingMenuItem<V> {
    content?: React.ReactNode;
    unselectable?: boolean;
    disabled?: (item: V) => boolean;
}
export interface ICFloatingMenuItems<V> extends IKeyObjects<ICFloatingMenuItem<V>> {
}
interface ICFloatingMenuProps<K, V> {
    open: boolean;
    targetElement: Element | null;
    targetOffset?: {
        left?: number;
        top?: number;
    };
    menuItems: ICFloatingMenuItems<V>;
    onClose: () => void;
    onMenuItemClick?: (newMenu: K) => void;
    validationItem?: V;
}
export declare function CFloatingMenu<K, V>(props: ICFloatingMenuProps<K, V>): import("react/jsx-runtime").JSX.Element | null;
export {};
