import { ElementType, ReactNode, ReactElement, AnchorHTMLAttributes } from 'react';
import { IconName, IconProps } from '../Icon';
import { PolymorphicComponentProps } from '../../utils/types';
import './Item.less';
export type ItemView = 'simple' | 'card';
interface ItemBaseProps {
    /**
     * View mode.
     * @since 2.1.0
     */
    view?: ItemView;
    /**
     * Icon.
     * @since 0.0.48
     * @type IconName | IconProps | ReactNode
     */
    icon?: IconName | IconProps | ReactNode;
    /**
     * Title.
     * @since 0.0.48
     * @type string | ReactElement | AnchorHTMLAttributes<HTMLAnchorElement>
     */
    title?: string | ReactElement<unknown> | AnchorHTMLAttributes<HTMLAnchorElement>;
    /**
     * Content for footer.
     * @since 2.1.0
     */
    footer?: ReactNode;
    /**
     * Description. Renders as small grey text.
     * @since 2.1.0
     */
    description?: ReactNode;
    /**
     * Content of the `Item`.
     * @since 0.0.48
     */
    children?: ReactNode;
    /**
     * An unique value. It needs only in ItemList with selectable view.
     * @since 2.3.0
     */
    value?: string | number;
    /**
     * Tooltip for component.
     * @since 2.5.1
     */
    tooltip?: ReactNode;
    /**
     * @ignore
     */
    baseClassName?: string;
    /**
     * Whether disabled or not.
     * @since 3.15.0
     */
    disabled?: boolean;
    /**
     * Add hover shadow and pointer cursor.
     * @since 3.26.0
     */
    hoverable?: boolean;
}
export type ItemProps<Component extends ElementType = 'div'> = {
    /**
     * Component to render as the root element. Useful when rendering a `Button` as `<a>` or `<Link>`.
     * @since 0.0.42
     * @type ElementType
     * @default div
     */
    component?: Component;
} & PolymorphicComponentProps<Component, ItemBaseProps>;
/**
 * `Item` component is element of [ItemList](#!/ItemList) and it is presented as
 * a combination of icon, text title and content (similar to [Media](#!/Media)).
 * @since 0.0.48
 */
declare const Item: <Component extends ElementType = "div">({ children, baseClassName, component, view, className, icon, title, description, footer, value, tooltip, disabled, hoverable, ...props }: ItemProps<Component>) => import("react/jsx-runtime").JSX.Element;
export default Item;
