import type { VNode, CSSProperties } from 'vue'; import type { DescriptionsProps } from 'ant-design-vue/es/descriptions/index'; export interface DescItem { labelMinWidth?: number; contentMinWidth?: number; labelStyle?: CSSProperties; field: string; label: string | VNode | JSX.Element; span?: number; show?: (...arg: any) => boolean; render?: (val: any, data: Recordable) => VNode | undefined | JSX.Element | Element | string | number; } export interface DescriptionProps extends DescriptionsProps { useCollapse?: boolean; /** * item configuration * @type DescItem */ schema: DescItem[]; /** * 数据 * @type object */ data: Recordable; } export interface DescInstance { setDescProps(descProps: Partial): void; } export declare type Register = (descInstance: DescInstance) => void; /** * @description: */ export declare type UseDescReturnType = [Register, DescInstance];