import { FunctionComponent, ReactElement } from 'react';
import { Button } from '../button';
export interface ItemProps extends Button.ButtonProps {
    itemKey: string;
}
export declare const CoreItem: FunctionComponent<Omit<Omit<import('../text/WithIcon').WithIconProps<"button", "h1">, "size" | "level" | "startIcon" | "endIcon"> & Button.ButtonExtensionProps & Button.BaseProps & {
    level?: import('../text/external').Level;
    startIcon?: ReactElement | ReactElement[];
    endIcon?: ReactElement | ReactElement[];
    iconSpacing?: import('../align/Space').SpaceProps["size"];
    disabled?: boolean;
    delay?: number | import('@synnaxlabs/x').TimeSpan;
} & import('../tooltip/wrap').WrapProps, "ref"> & import('react').RefAttributes<HTMLElement> & {
    itemKey: string;
}>;
export interface ItemIconProps extends Button.IconProps {
    itemKey: string;
}
declare const ItemIcon: FunctionComponent<Omit<Button.IconProps & import('react').RefAttributes<HTMLButtonElement> & import('../tooltip/wrap').WrapProps, "ref"> & import('react').RefAttributes<HTMLElement> & {
    itemKey: string;
}>;
declare const ItemLink: FunctionComponent<Button.LinkProps<"small" | "h1" | "h2" | "h3" | "h4" | "h5" | "p"> & {
    itemKey: string;
}>;
export interface MenuItemLinkProps extends Button.LinkProps {
    itemKey: string;
}
type CoreItemType = typeof CoreItem;
export interface ItemType extends CoreItemType {
    Icon: typeof ItemIcon;
    Link: typeof ItemLink;
}
/**
 * Menu.Item renders a menu item.
 *
 * @param props - Props for the component. Identical props to those of Use except
 * for the ones listed below.
 * @param props.itemKey - The key of the item. This is used to identify the item and
 * is passed to the onChange callback of the Menu.
 */
export declare const Item: ItemType;
export {};
//# sourceMappingURL=Item.d.ts.map