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> {
    direction?: "up" | "down" | "left" | "right";
    align?: "start" | "center" | "end";
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    overlay?: boolean;
}
export interface FABMenuItemProps extends Omit<HTMLMotionProps<"button">, "ref"> {
    icon?: React.ReactNode;
    label?: React.ReactNode;
    variant?: "primary" | "secondary" | "tertiary" | "surface";
    size?: "sm" | "md" | "lg";
    iconOnly?: boolean;
}
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 {};
