import * as react from 'react';
import { ReactNode, ButtonHTMLAttributes, HTMLAttributes } from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
import { StoreApi } from 'zustand';

interface DropdownStore {
    open: boolean;
    setOpen: (open: boolean) => void;
}
type DropdownStoreApi = StoreApi<DropdownStore>;
declare function createDropdownStore(): DropdownStoreApi;
declare const useDropdownStore: (externalStore?: DropdownStoreApi) => DropdownStoreApi;
interface DropdownMenuProps {
    children: ReactNode;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
}
declare const DropdownMenu: ({ children, open, onOpenChange }: DropdownMenuProps) => react_jsx_runtime.JSX.Element;
declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLButtonElement>>;
declare const MenuLabel: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    inset?: boolean;
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const MenuContent: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    align?: "start" | "center" | "end";
    side?: "top" | "right" | "bottom" | "left";
    sideOffset?: number;
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const MenuItem: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    inset?: boolean;
    size?: "small" | "medium";
    iconLeft?: ReactNode;
    iconRight?: ReactNode;
    disabled?: boolean;
    variant?: "profile" | "menu";
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const MenuSeparator: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const ProfileMenuTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLButtonElement>>;
declare const ProfileMenuHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    name: string;
    email: string;
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const ProfileMenuSection: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLDivElement>>;
declare const ProfileMenuFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & {
    disabled?: boolean;
    store?: DropdownStoreApi;
} & react.RefAttributes<HTMLButtonElement>>;

export { DropdownMenuTrigger, MenuContent, MenuItem, MenuLabel, MenuSeparator, ProfileMenuFooter, ProfileMenuHeader, ProfileMenuSection, ProfileMenuTrigger, createDropdownStore, DropdownMenu as default, useDropdownStore };
