import { PlusColumn, RecordType, TableValueType, FormItemValueType, OptionsRow, FieldValueType, OptionsType, RenderTypes, PropsItemType, Mutable, FieldProps } from 'haotai-ui/es/types'; import { Ref, ComputedRef, DefineComponent, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType, Slot, ComponentPublicInstance, ComponentOptionsBase, ComponentOptionsMixin, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, CSSProperties, PublicProps } from 'vue'; import { TableColumnCtx, ElTooltipProps, FormItemProps, ColProps } from 'element-plus'; import { FormChangeCallBackParams } from './type'; import { PlusFormProps } from 'haotai-ui'; export interface PlusTableColumnProps { columns?: PlusColumn[]; editable?: boolean | 'click' | 'dblclick'; } export interface PlusTableColumnEmits { (e: 'formChange', data: FormChangeCallBackParams): void; } declare function __VLS_template(): Partial any>> & Partial[]; value: any; }) => any>> & Partial[]; value: any; }) => any>> & Partial[]; value: any; }) => any>> & { "tooltip-icon"?(_: {}): any; "edit-icon"?(_: {}): any; }; declare const __VLS_component: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps, { columns: () => never[]; editable: boolean; }>, { plusDisplayItemInstance: Ref<({ $: ComponentInternalInstance; $data: {}; $props: Partial<{ index: number; formProps: PlusFormProps; editable: boolean | "click" | "dblclick"; column: PlusColumn; row: RecordType; rest: RecordType; }> & Omit<{ readonly index: number; readonly formProps: PlusFormProps; readonly editable: boolean | "click" | "dblclick"; readonly column: PlusColumn; readonly row: RecordType; readonly rest: RecordType; onChange?: ((data: { value: FieldValueType; prop: string; row: RecordType; }) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{ index: { type: PropType; default: number; }; formProps: { type: PropType; default: () => {}; }; editable: { type: PropType; default: boolean; }; column: { type: PropType; required: true; default: () => { prop: string; label: string; }; }; row: { type: PropType; required: true; default: () => {}; }; rest: { type: PropType; default: () => {}; }; }>> & { onChange?: ((data: { value: FieldValueType; prop: string; row: RecordType; }) => any) | undefined; }, "index" | "formProps" | "editable" | "column" | "row" | "rest">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $emit: (event: "change", data: { value: FieldValueType; prop: string; row: RecordType; }) => void; $el: any; $options: ComponentOptionsBase; default: number; }; formProps: { type: PropType; default: () => {}; }; editable: { type: PropType; default: boolean; }; column: { type: PropType; required: true; default: () => { prop: string; label: string; }; }; row: { type: PropType; required: true; default: () => {}; }; rest: { type: PropType; default: () => {}; }; }>> & { onChange?: ((data: { value: FieldValueType; prop: string; row: RecordType; }) => any) | undefined; }, { startCellEdit: () => void; stopCellEdit: () => void; getDisplayItemInstance: () => { isEdit: Ref; index: number; prop: string; formInstance: ComputedRef; }; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { change: (data: { value: FieldValueType; prop: string; row: RecordType; }) => void; }, string, { index: number; formProps: PlusFormProps; editable: boolean | "click" | "dblclick"; column: PlusColumn; row: RecordType; rest: RecordType; }, {}, string, {}> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, (cleanupFn: () => void) => void]) => any : (...args: [any, any, (cleanupFn: () => void) => void]) => any, options?: WatchOptions): WatchStopHandle; } & Omit; default: number; }; formProps: { type: PropType; default: () => {}; }; editable: { type: PropType; default: boolean; }; column: { type: PropType; required: true; default: () => { prop: string; label: string; }; }; row: { type: PropType; required: true; default: () => {}; }; rest: { type: PropType; default: () => {}; }; }>> & { onChange?: ((data: { value: FieldValueType; prop: string; row: RecordType; }) => any) | undefined; }, "startCellEdit" | "stopCellEdit" | "getDisplayItemInstance"> & ShallowUnwrapRef<{ startCellEdit: () => void; stopCellEdit: () => void; getDisplayItemInstance: () => { isEdit: Ref; index: number; prop: string; formInstance: ComputedRef; }; }> & {} & ComponentCustomProperties & {} & { $slots: Partial; prop: string; width?: string | number; minWidth?: string | number; editable?: boolean; valueType?: TableValueType | FormItemValueType; hideInDescriptions?: boolean | Ref | ComputedRef; hideInForm?: boolean | Ref | ComputedRef; hideInTable?: boolean | Ref | ComputedRef; hideInSearch?: boolean | Ref | ComputedRef; descriptionsItemProps?: RecordType; options?: OptionsType; optionsMap?: { label?: string; value?: string; }; customGetStatus?: (data: { options: OptionsRow[]; value: string | number; row: RecordType; }) => OptionsRow; tooltip?: string | Partial< ElTooltipProps> | ComputedRef | ComputedRef>; render?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => RenderTypes; renderHTML?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => string; renderHeader?: (label: string, props: PlusColumn) => RenderTypes; renderDescriptionsItem?: (data: { value: string; column: PlusColumn; row: RecordType; }) => RenderTypes; renderDescriptionsLabel?: (data: { label: string; column: PlusColumn; row: RecordType; }) => RenderTypes; order?: number | ComputedRef; children?: PlusColumn[]; headerFilter?: boolean; disabledHeaderFilter?: boolean; tableColumnProps?: Partial, "label " | "prop" | "width" | "minWidth"> & { [key: string]: any; }>; preview?: boolean; linkText?: string; formatter?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => string | number; formProps?: Partial< PlusFormProps> | ComputedRef> | ((value: FieldValueType, data: { row: Record; index: number; }) => Partial< PlusFormProps>); formItemProps?: PropsItemType< Mutable & { [key: string]: any; style?: CSSProperties; }>; fieldProps?: PropsItemType; renderField?: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes; colProps?: Partial< Mutable & { [key: string]: any; style?: CSSProperties; }>; hasLabel?: boolean | Ref | ComputedRef; renderLabel?: (label: string, props: PlusColumn) => RenderTypes; renderExtra?: (column: PlusColumn) => RenderTypes; fieldSlots?: { [slotName: string]: (data?: any) => RenderTypes; }; fieldChildrenSlot?: (option?: OptionsRow) => RenderTypes; }) => any>> & Partial; prop: string; width?: string | number; minWidth?: string | number; editable?: boolean; valueType?: TableValueType | FormItemValueType; hideInDescriptions?: boolean | Ref | ComputedRef; hideInForm?: boolean | Ref | ComputedRef; hideInTable?: boolean | Ref | ComputedRef; hideInSearch?: boolean | Ref | ComputedRef; descriptionsItemProps?: RecordType; options?: OptionsType; optionsMap?: { label?: string; value?: string; }; customGetStatus?: (data: { options: OptionsRow[]; value: string | number; row: RecordType; }) => OptionsRow; tooltip?: string | Partial< ElTooltipProps> | ComputedRef | ComputedRef>; render?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => RenderTypes; renderHTML?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => string; renderHeader?: (label: string, props: PlusColumn) => RenderTypes; renderDescriptionsItem?: (data: { value: string; column: PlusColumn; row: RecordType; }) => RenderTypes; renderDescriptionsLabel?: (data: { label: string; column: PlusColumn; row: RecordType; }) => RenderTypes; order?: number | ComputedRef; children?: PlusColumn[]; headerFilter?: boolean; disabledHeaderFilter?: boolean; tableColumnProps?: Partial, "label " | "prop" | "width" | "minWidth"> & { [key: string]: any; }>; preview?: boolean; linkText?: string; formatter?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => string | number; formProps?: Partial< PlusFormProps> | ComputedRef> | ((value: FieldValueType, data: { row: Record; index: number; }) => Partial< PlusFormProps>); formItemProps?: PropsItemType< Mutable & { [key: string]: any; style?: CSSProperties; }>; fieldProps?: PropsItemType; renderField?: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes; colProps?: Partial< Mutable & { [key: string]: any; style?: CSSProperties; }>; hasLabel?: boolean | Ref | ComputedRef; renderLabel?: (label: string, props: PlusColumn) => RenderTypes; renderExtra?: (column: PlusColumn) => RenderTypes; fieldSlots?: { [slotName: string]: (data?: any) => RenderTypes; }; fieldChildrenSlot?: (option?: OptionsRow) => RenderTypes; }) => any>> & Partial[]; value: any; }) => any>> & { "edit-icon"?(_: {}): any; }; })[] | null | undefined>; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { formChange: (data: FormChangeCallBackParams) => void; }, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps, { columns: () => never[]; editable: boolean; }>>> & { onFormChange?: ((data: FormChangeCallBackParams) => any) | undefined; }, { columns: PlusColumn[]; editable: boolean | "click" | "dblclick"; }, {}>; declare const _default: __VLS_WithTemplateSlots>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };