'use client';

import { default as React } from 'react';
import { UserAvatarProps } from './user-avatar';
import { UserProfileMenuItem, UserProfileProps } from './user-profile';
export interface UserButtonProps {
    /**
     * Button appearance style
     */
    appearance?: 'default' | 'minimal' | 'compact';
    /**
     * Avatar props (extends UserAvatarProps)
     */
    avatarProps?: Partial<UserAvatarProps>;
    /**
     * Dropdown props (extends UserProfileProps)
     */
    dropdownProps?: Partial<Omit<UserProfileProps, 'children'>>;
    /**
     * Custom className for button
     */
    className?: string;
    /**
     * Show user name next to avatar
     */
    showName?: boolean;
    /**
     * Show organization name
     */
    showOrganization?: boolean;
    /**
     * Show online status indicator
     */
    showStatus?: boolean;
    /**
     * Show notification badge
     */
    showNotifications?: boolean;
    /**
     * Notification count
     */
    notificationCount?: number;
    /**
     * Button size
     */
    size?: 'sm' | 'md' | 'lg';
    /**
     * Button radius
     */
    radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
    /**
     * Whether button is disabled
     */
    isDisabled?: boolean;
    /**
     * Whether button should be full width
     */
    isFullWidth?: boolean;
    /**
     * Custom menu items for dropdown
     */
    customMenuItems?: UserProfileMenuItem[];
    /**
     * Hide default menu items
     */
    hideMenuItems?: string[];
    /**
     * Sign out handler
     */
    onSignOut?: () => void;
    /**
     * Profile click handler
     */
    onProfileClick?: () => void;
    /**
     * Settings click handler
     */
    onSettingsClick?: () => void;
    /**
     * Organization switch handler
     */
    onOrganizationClick?: (organizationId: string) => void;
    /**
     * Notification click handler
     */
    onNotificationClick?: () => void;
    /**
     * Custom button content (overrides all default content)
     */
    children?: React.ReactNode;
    /**
     * Loading state
     */
    isLoading?: boolean;
    /**
     * Show dropdown arrow indicator
     */
    showDropdownIndicator?: boolean;
    /**
     * Button variant
     */
    variant?: 'solid' | 'bordered' | 'light' | 'flat' | 'faded' | 'shadow' | 'ghost';
    /**
     * Button color
     */
    color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
    /**
     * Custom start content
     */
    startContent?: React.ReactNode;
    /**
     * Custom end content
     */
    endContent?: React.ReactNode;
    /**
     * Whether to show organization badge on avatar
     */
    showOrganizationBadge?: boolean;
    /**
     * User role to display in badge
     */
    role?: string;
}
export declare function UserButton({ appearance, avatarProps, dropdownProps, className, showName, showOrganization, showStatus, showNotifications, notificationCount, size, radius, isDisabled, isFullWidth, customMenuItems, hideMenuItems, onSignOut, onProfileClick, onSettingsClick, onOrganizationClick, onNotificationClick, children, isLoading, showDropdownIndicator, variant, color, startContent, endContent, showOrganizationBadge, role, }: UserButtonProps): import("react/jsx-runtime").JSX.Element | null;
export default UserButton;
//# sourceMappingURL=user-button.d.ts.map