import type { Ref, VNode } from 'vue'; import type { RectProps } from '@visactor/vtable/es/ts-types/common'; export interface DynamicRenderEditorParams { row: number; col: number; value: any; refValue: Ref; record: any; table: any; onChange: (value: any) => void; } export interface DynamicRenderEditorConfig { editBefore?: (editorContext?: any) => boolean | Promise; disablePrompt?: string; validateValue?: (params?: ValidateValueParams) => boolean | Promise; invalidPrompt?: string; } export interface ValidateValueParams { row: number; col: number; value?: any; oldValue?: any; table?: any; } export declare class DynamicRenderEditor { wrapContainer: HTMLElement; tableContainer: HTMLElement | null; currentValue: string | null; nodeMap?: Map any>>; currentContext?: any; constructor(currentContext?: any); registerNode(tableId?: string | number, key?: string | number, getNode?: () => (params: DynamicRenderEditorParams) => any): void; getNode(tableId?: string | number, key?: string | number): (params: DynamicRenderEditorParams) => any; removeNode(tableId: string | number): void; release(tableId?: string | number): void; onStart(editorContext: any): Promise; createElement(editorContext: any): Promise; checkToPassAppContext(vnode: VNode, table: any): void; getColumnKeyField(column: any): any; getValue(): string; setValue(value: any): void; adjustPosition(rect: RectProps): void; validateValue(value?: any, oldValue?: any, editCell?: { col: number; row: number; }, table?: any): Promise; onEnd(): void; isEditorElement(target: HTMLElement): boolean; isClickEditorElement(target: HTMLElement): boolean; }