import { MouseEventHandler, ReactNode } from 'react';
import { TooltipProps } from '../Tooltip';
import { ValuesOf } from '../utils/typeUtils';
import { SIZE } from './ListItemSelect.constants';
export type ListItemSelectSizes = ValuesOf<typeof SIZE>;
export type ListItemSelectProps = {
    /** Applied as data-hook HTML attribute that can be used in the tests. */
    dataHook?: string;
    /**
     * Specifies a CSS class name to be appended to the component’s root element.
     * @internal
     */
    className?: string;
    /** If true, a checkbox will be shown. */
    checkbox?: boolean;
    /** Any prefix. */
    prefix?: ReactNode;
    /** Title of the list item. */
    title?: ReactNode;
    /** Text of the list item subtitle. */
    subtitle?: ReactNode;
    /** Any suffix. */
    suffix?: ReactNode;
    /** If true, the item is selected. */
    selected?: boolean;
    /** If true, the item is highlighted, if false - highlighted styles are not automatically applied on item hover. */
    highlighted?: boolean;
    /** If true, the item is disabled. */
    disabled?: boolean;
    /** Tooltip description if item is disabled. */
    disabledDescription?: string;
    /** Tooltip props if item is disabled. */
    disabledDescriptionTooltipProps?: Omit<TooltipProps, 'children' | 'disabled' | 'content'>;
    /** Allows to pass all common tooltip props. */
    tooltipProps?: TooltipProps;
    /** Callback function triggered when list item is clicked. */
    onClick?: MouseEventHandler<HTMLElement>;
    /** Changing text size. */
    size?: ListItemSelectSizes;
    /** If true, long text won't break into more than one line and will be terminated with an ellipsis. */
    ellipsis?: boolean;
    /** Maximum number of title lines before truncating with an ellipsis. */
    titleMaxLines?: number;
    /** Maximum number of subtitle lines before truncating with an ellipsis. */
    subtitleMaxLines?: number;
};
export type ListItemSelectBuilderParams = {
    id: string | number;
    label?: string;
} & Omit<ListItemSelectProps, 'onClick' | 'highlighted'>;
//# sourceMappingURL=ListItemSelect.types.d.ts.map