import { MutableRefObject, CSSProperties } from 'react';

type FloatingElementAlignment = 'beforeStart' | 'afterStart' | 'center' | 'beforeEnd' | 'afterEnd';
type CalculatePositionOptions = {
    verticalAlignment?: FloatingElementAlignment;
    horizontalAlignment?: FloatingElementAlignment;
    screenPadding?: number;
    gap?: number;
};
type UseFloatingElementOptions = CalculatePositionOptions & {
    isPolling?: boolean;
    pollingInterval?: number;
};
type UseFloatingElementProps = UseFloatingElementOptions & {
    containerRef: MutableRefObject<HTMLElement>;
    anchorRef: MutableRefObject<HTMLElement>;
    windowRef?: MutableRefObject<HTMLElement>;
    active?: boolean;
};
declare function useFloatingElement({ active, windowRef, anchorRef, containerRef, isPolling, pollingInterval, verticalAlignment, horizontalAlignment, screenPadding, gap, }: UseFloatingElementProps): CSSProperties;

export { type FloatingElementAlignment, type UseFloatingElementOptions, type UseFloatingElementProps, useFloatingElement };
