import { VariantProps } from 'class-variance-authority';
import { HTMLMotionProps } from 'framer-motion';
import { default as React } from 'react';
interface FABMenuContextType {
    isOpen: boolean;
    toggle: () => void;
    close: () => void;
    direction: "up" | "down" | "left" | "right";
    align: "start" | "center" | "end";
}
export declare const useFABMenu: () => FABMenuContextType;
export interface FABMenuProps extends React.HTMLAttributes<HTMLDivElement> {
    /** The direction the menu items expand towards. */
    direction?: "up" | "down" | "left" | "right";
    /** How the menu items align relative to the trigger button. */
    align?: "start" | "center" | "end";
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    /** If true, renders a subtle darkened backdrop behind the menu. */
    overlay?: boolean;
}
declare const fabMenuItemVariants: (props?: ({
    variant?: "primary" | "secondary" | "tertiary" | "surface" | null | undefined;
    size?: "sm" | "md" | "lg" | null | undefined;
    iconOnly?: boolean | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
export interface FABMenuItemProps extends Omit<HTMLMotionProps<"button">, "ref">, VariantProps<typeof fabMenuItemVariants> {
    icon?: React.ReactNode;
    label?: React.ReactNode;
}
export declare const FABMenu: React.ForwardRefExoticComponent<FABMenuProps & React.RefAttributes<HTMLDivElement>> & {
    Trigger: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
        asChild?: boolean;
    } & React.RefAttributes<HTMLButtonElement>>;
    List: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
    Item: React.ForwardRefExoticComponent<FABMenuItemProps & React.RefAttributes<HTMLButtonElement>>;
};
export {};
