import React from 'react';
import type { DescriptionsProps, FormProps } from 'antd';
import { ProSchema, ProCoreActionType, RowEditableConfig, UseEditableMapUtilType, ProFieldValueType, ProSchemaComponentTypes } from '../utils';
import type { RequestData } from './use-fetch-data';
import type { ProFieldFCMode } from '../utils';
import type { LabelTooltipType } from 'antd/lib/form/FormItemLabel';
import './style';
export interface DescriptionsItemProps {
    prefixCls?: string;
    className?: string;
    style?: React.CSSProperties;
    label?: React.ReactNode;
    labelStyle?: React.CSSProperties;
    contentStyle?: React.CSSProperties;
    children: React.ReactNode;
    span?: number;
}
export type ProDescriptionsItemProps<T = Record<string, any>, ValueType = 'text'> = ProSchema<T, Omit<DescriptionsItemProps, 'children'> & {
    hide?: boolean;
    plain?: boolean;
    copyable?: boolean;
    ellipsis?: boolean;
    mode?: ProFieldFCMode;
    children?: React.ReactNode;
    order?: number;
}, ProSchemaComponentTypes, ValueType>;
export type ProDescriptionsActionType = ProCoreActionType;
export type ProDescriptionsProps<RecordType = Record<string, any>, ValueType = 'text'> = DescriptionsProps & {
    /** Params 参数 params 改变的时候会触发 reload */
    params?: Record<string, any>;
    /** 网络请求报错 */
    onRequestError?: (e: Error) => void;
    /** 获取数据的方法 */
    request?: (params: Record<string, any>) => Promise<RequestData>;
    columns?: ProDescriptionsItemProps<RecordType, ValueType>[];
    /** 一些简单的操作 */
    actionRef?: React.MutableRefObject<ProCoreActionType<any> | undefined>;
    loading?: boolean;
    onLoadingChange?: (loading?: boolean) => void;
    tooltip?: LabelTooltipType | string;
    /** @deprecated 你可以使用 tooltip，这个更改是为了与 antd 统一 */
    tip?: string;
    /** Form props 的相关配置 */
    formProps?: FormProps;
    /** @name 编辑相关的配置 */
    editable?: RowEditableConfig<RecordType>;
    /** 默认的数据源 */
    dataSource?: RecordType;
    /** 受控数据源改变 */
    onDataSourceChange?: (value: RecordType) => void;
};
/**
 * 这里会处理编辑的功能
 *
 * @param props
 */
export declare const FieldRender: React.FC<ProDescriptionsItemProps<any> & {
    text: any;
    valueType: ProFieldValueType;
    entity: any;
    action: ProCoreActionType<any>;
    index: number;
    editableUtils?: UseEditableMapUtilType;
}>;
declare const ProDescriptions: {
    <RecordType extends Record<string, any>, ValueType = "text">(props: ProDescriptionsProps<RecordType, ValueType>): import("react/jsx-runtime").JSX.Element;
    Item: React.FC<ProDescriptionsItemProps<Record<string, any>, "text">>;
};
export default ProDescriptions;
