import * as React from 'react';
export declare function getParentNode(element: HTMLElement): any;
export declare function getScrollParent(element: HTMLElement): any;
export declare const buildChildrenObject: <T>(children: React.ReactNode, childrenObject: T) => T;
export interface ElementProps {
    children: any;
}
export declare const createComponentThatRendersItsChildren: (displayName: string) => React.FunctionComponent<ElementProps>;
export declare const noop: () => null;
export declare const isReactElement: <T>(child: any, Element: React.ComponentType<T>) => child is React.ReactElement<T>;
export declare const isStatelessComponent: (Component: React.FC<any>) => boolean;
export declare const attachClasses: (node: HTMLElement | null, classnames: string) => void | null;
export declare const detachClasses: (node: HTMLElement | null, classnames: string) => void | null;
export declare const shouldAnimatePopover: ({ timeout, }: {
    timeout?: number | {
        enter: number;
        exit: number;
    };
}) => boolean;
export declare const getArrowShift: (shift: number | undefined, direction: string) => {
    left?: undefined;
    top?: undefined;
} | {
    left: string;
    top?: undefined;
} | {
    top: string;
    left?: undefined;
};
//# sourceMappingURL=utils.d.ts.map