import React from 'react';
import { PopoverProps } from 'antd-mobile';
import { WithFieldProps } from '../BizField/interface';
import { StyleWithVariable } from '../../types';
import './index.less';
export interface BizDescriptionsItemProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * @description 标签。
     */
    label?: React.ReactNode;
    /**
     * @description 标签样式。
     */
    labelStyle?: React.CSSProperties;
    /**
     * @description 标签类名。
     */
    labelClassName?: string;
    /**
     * @description 内容样式。
     */
    contentStyle?: React.CSSProperties;
    /**
     * @description 内容类名。
     */
    contentClassName?: string;
    /**
     * @description 提示文本。
     */
    help?: React.ReactNode;
    /**
     * @description 提示图标。
     */
    helpIcon?: PopoverProps['children'];
    /**
     * @description 提示弹出层属性。
     */
    popoverProps?: Omit<PopoverProps, 'content' | 'children'>;
}
declare const BizDescriptionsItem: React.FC<BizDescriptionsItemProps>;
type DataIndexType = string | number;
type NodeNameType = 'label' | 'content';
export type BizDescriptionsItemType<DataType = any> = Pick<BizDescriptionsItemProps, 'label' | 'help' | 'helpIcon' | 'style' | 'className' | 'popoverProps' | 'children'> & {
    /**
     * @description 节点样式。
     */
    styles?: Partial<Record<NodeNameType, React.CSSProperties>>;
    /**
     * @description 节点类名。
     */
    classNames?: Partial<Record<NodeNameType, string>>;
    /**
     * @description 是否隐藏。
     */
    hidden?: boolean;
    /**
     * @description 数据索引。
     *
     * 如果没有`children`，则从数据中获取`dataIndex`对应的值，根据`valueType`进行渲染。
     *
     * 支持对象路径，如 `a.b.c`。
     *
     * 数组表示多个值的索引，同样支持对象路径。
     */
    dataIndex?: DataIndexType | DataIndexType[];
    /**
     * @description 自定义渲染。
     *
     * 如果没有`children`，则从数据中获取`dataIndex`对应的值，根据`valueType`进行渲染。
     *
     * 如果有`children`，则直接渲染`children`。
     *
     * @param value 当前索引值
     * @param record 数据源
     * @param index 当前渲染的序列号
     * @returns
     */
    render?: (value: any, record: DataType, index: number) => React.ReactNode;
} & WithFieldProps<DataType>;
export interface BizDescriptionsProps<DataType extends object = any> {
    /**
     * @description 标题。
     */
    title?: React.ReactNode;
    /**
     * @description 冒号。
     */
    colon?: boolean;
    /**
     * @description 自定义样式。
     */
    style?: StyleWithVariable<'--font-size' | '--color' | '--title-color' | '--padding-inner' | '--justify-content' | '--flex-direction' | '--label-color' | '--label-width' | '--label-text-align' | '--content-color' | '--content-text-align'>;
    /**
     * @description 数据源。
     */
    dataSource?: DataType;
    /**
     * @description 描述列表项内容。
     */
    items?: BizDescriptionsItemType<DataType>[];
    /**
     * @deprecated 即将移除，请使用 `items` 代替。
     */
    children?: React.ReactNode;
    /**
     * @description 类名。
     */
    className?: string;
    /**
     * @description 提示文本。
     */
    help?: React.ReactNode;
    /**
     * @description 提示图标。
     */
    helpIcon?: PopoverProps['children'];
    /**
     * @description 提示弹出层属性。
     */
    popoverProps?: Omit<PopoverProps, 'content' | 'children'>;
}
declare const BizDescriptions: React.FC<BizDescriptionsProps> & {
    Item: typeof BizDescriptionsItem;
};
/**
 * @deprecated 即将废弃，请使用 `BizDescriptionsItemProps` 替代。
 */
export type DescriptionsItemProps = BizDescriptionsItemProps;
/**
 * @deprecated 即将废弃，请使用 `BizDescriptionsProps` 替代。
 */
export type DescriptionsProps = BizDescriptionsProps;
/**
 * @deprecated 即将废弃，请使用 `BizDescriptions` 替代。
 */
export declare const Descriptions: React.FC<BizDescriptionsProps<any>> & {
    Item: typeof BizDescriptionsItem;
};
export default BizDescriptions;
