import { unstable_batchedUpdates } from 'react-dom';
import { MenuButtonProps } from '../components/MenuButton';
import { MenuState, MenuStateOptions } from '../types';
export declare const isMenuOpen: (state?: MenuState) => boolean;
export declare const batchedUpdates: typeof unstable_batchedUpdates;
export declare const values: {
    <T>(o: {
        [s: string]: T;
    } | ArrayLike<T>): T[];
    (o: {}): any[];
};
export declare const floatEqual: (a: number, b: number, diff?: number) => boolean;
export type TransitionMap = {
    open?: boolean;
    close?: boolean;
    item?: boolean;
};
export declare const getTransition: (transition: MenuStateOptions["transition"], name: keyof TransitionMap) => boolean;
export declare function safeCall<T, R>(fn: (arg?: T) => R, arg?: T): R;
export declare function safeCall<T, R>(fn: T, arg: R): T;
export declare const getName: (component: Record<string, any>) => any;
export declare const defineName: (name: string, component: React.ForwardRefExoticComponent<React.PropsWithoutRef<MenuButtonProps> & React.RefAttributes<unknown>>) => import("react").ForwardRefExoticComponent<Omit<MenuButtonProps, "ref"> & import("react").RefAttributes<unknown>>;
export declare const mergeProps: (target: any, source: any) => any;
export declare const parsePadding: (paddingStr: string | undefined) => {
    top: number;
    right: number;
    bottom: number;
    left: number;
};
export declare const getScrollAncestor: (node: Node | null) => Element | null;
export declare function commonProps(isDisabled?: boolean, isHovering?: boolean): {
    'aria-disabled': true | undefined;
    tabIndex: number;
};
export declare const indexOfNode: (nodeList: NodeListOf<Node>, node: Node) => number;
export declare const focusFirstInput: (container: any) => boolean;
