import { ReactElement, ReactNode } from 'react';
import { MenuTriggerProps } from 'react-aria-components/Menu';
import { PopoverProps } from 'react-aria-components/Popover';
import { AvatarPairProps } from '../avatar/parts/AvatarPair.js';
export type AppProfileMenuButtonProps = {
    avatar?: string;
    avatarPair?: ReactElement<AvatarPairProps>;
    title?: string;
    description?: ReactNode;
    badgeLabel?: string;
    children?: ReactNode;
    /** Use this to provide custom screen-reader context for the menu trigger. */
    menuTriggerDescription?: string;
    uploadAvatarCallback?: () => void;
    /** Defaults to "Press enter to change profile picture". */
    uploadAvatarDescription?: string;
    /** Defaults to "Change profile picture". */
    uploadAvatarLabel?: string;
    /** Trigger treatment for application-shell surfaces. */
    variant?: 'small' | 'large';
    /** Defaults to square to preserve AppMenuFooter compatibility. */
    avatarVariant?: 'circle' | 'square';
    placement?: PopoverProps['placement'];
} & Pick<MenuTriggerProps, 'defaultOpen' | 'isOpen' | 'onOpenChange'>;
export declare const AppProfileMenuButton: ({ avatar, avatarPair, avatarVariant, badgeLabel, children, defaultOpen, description, isOpen, menuTriggerDescription, onOpenChange, placement, title, uploadAvatarCallback, uploadAvatarDescription, uploadAvatarLabel, variant, }: AppProfileMenuButtonProps) => import("react/jsx-runtime").JSX.Element;
