import React__default, { ReactNode } from 'react';

type NavigationDirection = 'horizontal' | 'vertical';
type NavigationPosition = 'top' | 'bottom' | 'left' | 'right';
interface NavigationItem {
    id: string;
    label: string;
    href: string;
    icon?: React.ReactNode;
    isExternal?: boolean;
    target?: '_blank' | '_self';
}
interface NavigationConfig {
    direction: NavigationDirection;
    position: NavigationPosition;
    items: NavigationItem[];
    avatar?: {
        src: string;
        alt?: string;
    };
    logo?: {
        src: string;
        alt?: string;
    };
}
interface NavigationProps {
    config: NavigationConfig;
    isOpen: boolean;
    onToggle: () => void;
    activeItemId?: string;
    onItemClick?: (item: NavigationItem) => void;
    className?: string;
}

declare const Navigation: React__default.FC<NavigationProps>;

interface NavigationItemProps {
    item: NavigationItem;
    direction: NavigationDirection;
    isActive?: boolean;
    onClick: (item: NavigationItem) => void;
}
declare const NavigationItemComponent: React__default.FC<NavigationItemProps>;

interface NavigationToggleProps {
    isOpen: boolean;
    onClick: () => void;
    position: NavigationPosition;
}
declare const NavigationToggle: React__default.FC<NavigationToggleProps>;

interface FloatingMenuProps {
    /**
     * 触发按钮的内容
     */
    trigger: ReactNode;
    /**
     * 菜单内容
     */
    menu: ReactNode;
    /**
     * 初始位置
     */
    initialPosition?: {
        x: number;
        y: number;
    };
    /**
     * 是否默认打开菜单
     */
    defaultOpen?: boolean;
    /**
     * 自定义类名
     */
    className?: string;
    /**
     * 菜单类名
     */
    menuClassName?: string;
    /**
     * 触发器类名
     */
    triggerClassName?: string;
    /**
     * z-index
     */
    zIndex?: number;
}
declare const FloatingMenu: React__default.FC<FloatingMenuProps>;

declare const FloatingMenuExample: React__default.FC;

export { FloatingMenu, FloatingMenuExample, Navigation, type NavigationConfig, type NavigationDirection, NavigationItemComponent as NavigationItem, type NavigationPosition, type NavigationProps, NavigationToggle };
