import { ReactNode, ButtonHTMLAttributes, HTMLAttributes, RefObject } from 'react';
import { StoreApi } from 'zustand';
interface DropdownStore {
    open: boolean;
    setOpen: (open: boolean) => void;
}
type DropdownStoreApi = StoreApi<DropdownStore>;
export declare function createDropdownStore(): DropdownStoreApi;
export declare const useDropdownStore: (externalStore?: DropdownStoreApi) => DropdownStoreApi;
interface DropdownMenuProps {
    children: ReactNode;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
}
declare const DropdownMenu: ({ children, open: propOpen, onOpenChange, }: DropdownMenuProps) => import("react/jsx-runtime").JSX.Element;
declare const DropdownMenuTrigger: import("react").ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
    disabled?: boolean;
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLButtonElement>>;
declare const MenuLabel: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    inset?: boolean;
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const DropdownMenuContent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    align?: "start" | "center" | "end";
    side?: "top" | "right" | "bottom" | "left";
    variant?: "menu" | "profile";
    sideOffset?: number;
    store?: DropdownStoreApi;
    portal?: boolean;
    triggerRef?: RefObject<HTMLElement | null>;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const DropdownMenuItem: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    inset?: boolean;
    size?: "small" | "medium";
    iconLeft?: ReactNode;
    iconRight?: ReactNode;
    disabled?: boolean;
    variant?: "profile" | "menu";
    store?: DropdownStoreApi;
    preventClose?: boolean;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const DropdownMenuSeparator: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const ProfileMenuTrigger: import("react").ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLButtonElement>>;
declare const ProfileMenuHeader: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    name: string;
    email: string;
    photoUrl?: string | null;
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const ProfileMenuInfo: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    schoolName: string;
    classYearName: string;
    schoolYearName: string;
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const ProfileToggleTheme: {
    ({ store: externalStore, ...props }: HTMLAttributes<HTMLDivElement> & {
        store?: DropdownStoreApi;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
declare const ProfileMenuSection: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
    store?: DropdownStoreApi;
} & import("react").RefAttributes<HTMLDivElement>>;
declare const ProfileMenuFooter: {
    ({ className, disabled, onClick, store: externalStore, ...props }: HTMLAttributes<HTMLButtonElement> & {
        disabled?: boolean;
        store?: DropdownStoreApi;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export default DropdownMenu;
export { DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, MenuLabel, DropdownMenuSeparator, ProfileMenuTrigger, ProfileMenuHeader, ProfileMenuSection, ProfileMenuFooter, ProfileToggleTheme, ProfileMenuInfo, };
//# sourceMappingURL=DropdownMenu.d.ts.map