import { ReactNode } from 'react';
import { BoxProps } from '../box';
import { IconProp } from '../icon';
import { SystemProps } from '../system';
import { ThemingProps } from '../theme';
export type SidemenuOrientation = 'vertical' | 'horizontal';
export type SidemenuProps = SystemProps & ThemingProps<'Sidemenu'> & {
    /** Collection of menu items  */
    items?: SidemenuItemProps[];
    /** Whether the menu is expanded @default false  */
    isExpanded?: boolean;
    isSticky?: boolean;
    /** External callback for navigation to the item path, could be a custom function or React Router hook: https://reactrouter.com/en/main/hooks/use-navigate  */
    onNavigate?: (to: string) => void;
    /** With of the container when the side menu is expanded @default 280  */
    width?: number;
};
export type SidemenuItemProps = BoxProps & {
    /** Custom class name */
    className?: string;
    /** Children */
    children?: ReactNode;
    /** Custom class name */
    icon?: IconProp;
    /** Icon size @default md  */
    iconSize?: 'md' | 'sm';
    /** Whether the item is active */
    isActive?: boolean;
    /** Whether the item is expanded vertically */
    isExpanded?: boolean;
    /** On click callback */
    onClick?: () => void;
    /** On collapse callback @default true */
    onCollapse?: () => void;
    /** On expand callback */
    onExpand?: () => void;
    /** Router path */
    path?: string;
    /** Title */
    title: string;
};
export type SidemenuTopProps = BoxProps & {
    /** Custom class name */
    className?: string;
    /** Left slod (always visible) */
    leftSlot?: ReactNode;
    /** Right slod (hiden if the sidemenu is collapsed) */
    rightSlot?: ReactNode;
};
//# sourceMappingURL=sidemenu.types.d.ts.map