import React from 'react';
import { DISPLAY } from '@donotdev/components';
import type { CSSProperties } from 'react';
import type { ComponentType } from 'react';
/**
 * Custom menu item for AuthMenu
 *
 * Allows consumers to add custom menu items with icons and onClick handlers.
 * Icons can be Lucide icon names (string) or React components.
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export interface AuthMenuCustomItem {
    /** Menu item label */
    label: string;
    /** Lucide icon name (string) or React component */
    icon?: string | ComponentType<{
        className?: string;
    }>;
    /** Click handler (required for custom items without path) */
    onClick?: () => void;
    /** Path for route-based items (creates Link automatically) */
    path?: string;
    /** Whether item is disabled */
    disabled?: boolean;
    /** Custom style */
    style?: React.CSSProperties;
}
/**
 * Props for the AuthMenu component
 *
 * @version 0.0.1
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export interface AuthMenuProps {
    /** Path for login (unauthenticated users). Falls back to appConfig.auth.loginPath */
    loginPath?: string;
    /**
     * Display - controls auth menu presentation in preset layouts
     * - 'compact': Icon-only button
     * - 'full': Button with label
     * - 'auto': Responsive (default)
     * @default 'auto'
     */
    display?: (typeof DISPLAY)[keyof typeof DISPLAY];
    /** Disable tooltip */
    'no-tooltip'?: boolean;
    /**
     * Custom menu items to add to authenticated menu.
     * Merged with items from appConfig.auth.authMenuItems.
     * Order: Profile (if configured) → authMenuItems → customItems → Delete Account → Sign Out
     */
    customItems?: AuthMenuCustomItem[];
    /** Optional className for styling the button */
    className?: string;
    /** Optional inline styles for the button */
    style?: CSSProperties;
}
export declare const AuthMenu: ({ loginPath, display, "no-tooltip": noTooltip, customItems, className, style, }: AuthMenuProps) => import("react/jsx-runtime").JSX.Element | null;
export default AuthMenu;
//# sourceMappingURL=AuthMenu.d.ts.map