import * as React from 'react';
import { HTMLAttributes, MutableRefObject, ReactNode } from 'react';
import { UseFloatingElementOptions, FloatingElementAlignment } from '../../hooks/useFloatingElement.js';

type FloatingContainerProps = HTMLAttributes<HTMLDivElement> & UseFloatingElementOptions & {
    anchor?: MutableRefObject<HTMLElement>;
    /**
     * Polls the position of the anchor every 100ms
     *
     * Use sparingly
     */
    backgroundOverlay?: ReactNode;
};
/**
 * A floating container that aligns to its anchor
 *
 * Notes:
 * - to hide it use the hidden attribute as other means break the functionality
 */
declare const FloatingContainer: React.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    verticalAlignment?: FloatingElementAlignment;
    horizontalAlignment?: FloatingElementAlignment;
    screenPadding?: number;
    gap?: number;
} & {
    isPolling?: boolean;
    pollingInterval?: number;
} & {
    anchor?: MutableRefObject<HTMLElement>;
    /**
     * Polls the position of the anchor every 100ms
     *
     * Use sparingly
     */
    backgroundOverlay?: ReactNode;
} & React.RefAttributes<HTMLDivElement>>;

export { FloatingContainer, type FloatingContainerProps };
