import type { Data, TdButtonProps, TdDialogProps, TNode } from 'tdesign-vue-next'; import type { Qd2ConfigValue } from '../config-renderer'; import type { QdFormInstanceFunctions, QdFormProps, QdFormSubmitContext } from '../form'; export type QdDialogDone = (closed: boolean) => void; export interface QdDialogProps extends Omit { onConfirm?: (done: QdDialogDone) => void | boolean | Promise; footerExtend?: TNode; extendBtns?: (TdButtonProps | TNode)[]; autoHeight?: boolean; fullscreenBtn?: boolean; hideOnDeactivated?: boolean; } export interface QdDialogInstanceFunctions { show: () => void; hide: () => void; } export interface QdDialogFormProps extends Omit, 'onSubmit'>, Pick { onSubmit?: (context: QdFormSubmitContext) => void | boolean | Promise; wrapper?: Omit & { extendBtns?: (Qd2ConfigValue> & { onClick?: (context: FD, done: QdDialogDone) => void | boolean | Promise; })[]; }; } export interface QdDialogFormInstanceFunctions extends QdFormInstanceFunctions { show: (data?: FD) => void; hide: () => void; }