import type { TableColumnCtx, TableProps } from 'element-plus'; import { TableEmits } from '../table/types'; import { ComponentsProps, SelectOptions } from '../form'; export declare type FormColumn = TableColumnCtx & { hidden: boolean; tag: boolean; readOnly: (row: T, index: number) => boolean | boolean; optionsRule: (row: Record, index: number) => Array; } & ComponentsProps; export interface AdTableFormPorps { modelValue?: Record; table?: Partial>; events?: Partial>; globalReadOnly?: boolean; columns?: Array>>; handleTableHeaderClick?: (key: string, column: Partial>) => void; handleTableRowClick?: (key: string, row: T, rowIndex: number) => void; isAutoLoadable?: boolean; api: (queryForm?: Record) => Promise; reqHandler?: (queryForm?: M) => M; respHandler?: (data?: Record) => Record; minQuantity?: number; maxQuantity?: number; showAdded?: boolean; showDelete?: boolean; submit: (row: T[]) => void; } export interface AdTableFormEmits { } export interface AdTableFormInstance { fetchData: () => Promise; submit: () => void; }