import type { ReactNode } from 'react';
import type { DescriptionProps } from '../Description';
import type { ValueProps } from '../Description/Value';
export type DescriptionOptions = Pick<ValueProps, 'canCopy' | 'copyPosition' | 'color' | 'copyText'> & {
    nameMaxWidth?: string;
    /**
     *  Вариант отображения Value в списке
     */
    variant?: 'tag' | 'default' | 'guid';
    renderValue?: (value: ReactNode, optionProps: Omit<DescriptionOptions, 'nameMaxWidth'>) => ReactNode;
    /**
     * Скрывает содержимое элемента от инструментов мониторинга
     */
    isHidePersonalData?: boolean;
    /**
     * Дополнительный поясняющий текст
     */
    note?: ReactNode;
};
export type DescriptionListItem = {
    name: ReactNode;
    value: ReactNode;
    options?: DescriptionOptions;
};
export type DescriptionListVariant = 'contained' | 'default';
export type DescriptionListProps = Pick<DescriptionProps, 'justifyContent' | 'leader' | 'separator' | 'direction'> & {
    /**
     * Список отображаемых "name: value"
     */
    items: (DescriptionListItem | DescriptionListItem[])[];
    /**
     * Вариант отображения списка
     * @default default
     */
    variant?: DescriptionListVariant;
    /**
     * Заголовок блока
     */
    title?: ReactNode;
    /**
     * Включает выравнивание колонок DescriptionList с указанной шириной для поля наименования.
     */
    alignNameWidth?: `${string}px`;
};
