import { MouseEventHandler, ReactNode } from 'react';
import { ValuesOf } from '../utils/typeUtils';
import { TYPES } from './ListItemSection.constants';
export type ListItemSectionTypes = ValuesOf<typeof TYPES>;
export type ListItemSectionProps = {
    /** 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;
    /** A list item section can be
     *  * `title` - Acts as a title for following list items.
     *  * `subheader` - Acts as separator between list items for differentiation.
     *  * `whitespace` - Adds some padding between list items.
     *  * `divider` - Same as whitespace, but with a line.
     */
    type?: ListItemSectionTypes;
    /** Text of the list item */
    title?: ReactNode;
    /** Suffix node. Renders TextButton for a string otherwise the node itself.*/
    suffix?: ReactNode;
    /** If true, long text won't break into more than one line and will be terminated with an ellipsis */
    ellipsis?: boolean;
    /** A callback function called when suffix is clicked */
    onClick?: MouseEventHandler<HTMLElement>;
};
export type ListItemSelectionBuilderParams = {
    id: string | number;
} & Omit<ListItemSectionProps, 'onClick'>;
//# sourceMappingURL=ListItemSection.types.d.ts.map