import React from "react";
import type { UseFloatingReturn, UseInteractionsReturn } from "@floating-ui/react";
import type { ActionConfig, AutocompleteProps, MenuFooter, MenuHeader, OptionLike, RenderItem } from "../Autocomplete.types";
interface FloatingMenuProps<Value extends OptionLike> {
    readonly context: UseFloatingReturn["context"];
    readonly getFloatingProps: UseInteractionsReturn["getFloatingProps"];
    readonly refs: UseFloatingReturn["refs"];
    readonly listboxId: string;
    readonly className: string;
    readonly floatingStyles: React.CSSProperties;
    readonly transitionStyles: React.CSSProperties;
    readonly menuStyle?: React.CSSProperties;
    readonly renderable: Array<RenderItem<Value>>;
    readonly persistentsHeaders: Array<MenuHeader<Record<string, unknown>>>;
    readonly persistentsFooters: Array<MenuFooter<Record<string, unknown>>>;
    readonly activeIndex: number | null;
    readonly headerInteractiveCount: number;
    readonly middleNavigableCount: number;
    readonly getItemProps: UseInteractionsReturn["getItemProps"];
    readonly listRef: React.RefObject<Array<HTMLElement | null>>;
    readonly onSelection: (option: Value) => void;
    readonly onAction: (action: ActionConfig) => void;
    readonly onInteractionPointerDown: (e: React.PointerEvent) => void;
    readonly getOptionLabel: (option: Value) => string;
    readonly isOptionSelected: (option: Value) => boolean;
    readonly loading: boolean;
    readonly showEmptyStateMessage: boolean;
    readonly emptyStateMessage?: React.ReactNode;
    readonly customRenderLoading?: React.ReactNode;
    readonly customRenderOption?: AutocompleteProps<Value, false>["customRenderOption"];
    readonly customRenderSection?: AutocompleteProps<Value, false>["customRenderSection"];
    readonly customRenderAction?: AutocompleteProps<Value, false>["customRenderAction"];
    readonly customRenderHeader?: AutocompleteProps<Value, false>["customRenderHeader"];
    readonly customRenderFooter?: AutocompleteProps<Value, false>["customRenderFooter"];
    readonly slotOverrides?: {
        option?: {
            className?: string;
            style?: React.CSSProperties;
        };
        action?: {
            className?: string;
            style?: React.CSSProperties;
        };
        section?: {
            className?: string;
            style?: React.CSSProperties;
        };
        header?: {
            className?: string;
            style?: React.CSSProperties;
        };
        footer?: {
            className?: string;
            style?: React.CSSProperties;
        };
    };
}
export declare function FloatingMenu<Value extends OptionLike>({ context, getFloatingProps, refs, listboxId, className, floatingStyles, transitionStyles, menuStyle, renderable, persistentsHeaders, persistentsFooters, activeIndex, headerInteractiveCount, middleNavigableCount, getItemProps, listRef, onSelection, onAction, onInteractionPointerDown, getOptionLabel, isOptionSelected, loading, showEmptyStateMessage, emptyStateMessage, customRenderLoading, customRenderOption, customRenderSection, customRenderAction, customRenderHeader, customRenderFooter, slotOverrides, }: FloatingMenuProps<Value>): React.JSX.Element;
export {};
