import type { PropType, CSSProperties, ComputedRef, ExtractPropTypes, VNodeTypes } from 'vue'; import type { LegacyButtonType } from 'ant-design-vue/es/button/buttonTypes'; import { VueNode } from '../../../utils'; import { UseDraggableOptions } from '../../../types/draggable'; declare type getContainerFunc = () => HTMLElement; export interface DraggableType { x: number; y: number; isDragging: boolean; position: { x: number; y: number; }; style: ComputedRef; } export declare const modalProps: () => { showTooltip: { type: BooleanConstructor; default: boolean; }; isConfirm: { type: BooleanConstructor; default: boolean; }; tooltipDes: { type: StringConstructor; default: string; }; showCancelBtn: { type: BooleanConstructor; default: boolean; }; showOkBtn: { type: BooleanConstructor; default: boolean; }; afterClose: PropType<() => Promise>; closeFunc: PropType<() => Promise>; type: StringConstructor[]; infoDes: (StringConstructor | ArrayConstructor)[]; prefixCls: { type: StringConstructor; }; onCancelDisable: { type: BooleanConstructor; default: boolean; }; onOkDisable: { type: BooleanConstructor; default: boolean; }; isDraggable: { type: BooleanConstructor; default: boolean; }; DragOptions: { type: PropType; }; scrollOptions: { type: PropType<{} & {} & {}>; }; dragChange: PropType<(draggable: DraggableType) => void>; footerAlign: { type: StringConstructor; default: string; }; visible: { type: BooleanConstructor; default: boolean; }; loading: { type: BooleanConstructor; default: boolean; }; loadingText: { type: StringConstructor; }; confirmLoading: { type: BooleanConstructor; default: undefined; }; title: import("vue-types").VueTypeValidableDef; closable: { type: BooleanConstructor; default: undefined; }; closeIcon: import("vue-types").VueTypeValidableDef; onOk: PropType<(e: MouseEvent) => void>; onCancel: PropType<(e: MouseEvent) => void>; 'onUpdate:visible': PropType<(visible: boolean) => void>; onChange: PropType<(visible: boolean) => void>; centered: { type: BooleanConstructor; default: boolean; }; width: { type: (StringConstructor | NumberConstructor)[]; default: string; }; footer: import("vue-types").VueTypeValidableDef; okText: { type: StringConstructor; }; okType: PropType; cancelText: { type: StringConstructor; }; icon: import("vue-types").VueTypeValidableDef; maskClosable: { type: BooleanConstructor; default: boolean; }; forceRender: { type: BooleanConstructor; default: undefined; }; okButtonProps: PropType void) | undefined; ghost?: boolean | undefined; danger?: boolean | undefined; shape?: "circle" | "round" | undefined; block?: boolean | undefined; }>>; cancelButtonProps: PropType void) | undefined; ghost?: boolean | undefined; danger?: boolean | undefined; shape?: "circle" | "round" | undefined; block?: boolean | undefined; }>>; destroyOnClose: { type: BooleanConstructor; default: boolean; }; wrapClassName: StringConstructor; maskTransitionName: StringConstructor; transitionName: StringConstructor; getContainer: { type: PropType; default: undefined; }; zIndex: NumberConstructor; bodyStyle: { type: PropType; default: CSSProperties; }; maskStyle: { type: PropType; default: CSSProperties; }; mask: { type: BooleanConstructor; default: undefined; }; keyboard: { type: BooleanConstructor; default: undefined; }; wrapProps: ObjectConstructor; focusTriggerAfterClose: { type: BooleanConstructor; default: undefined; }; modalRender: PropType<(arg: { originVNode: VueNode; }) => VueNode>; appContext: import("vue-types").VueTypeValidableDef; autoFocusButton: PropType<"ok" | "cancel" | null>; content: import("vue-types").VueTypeValidableDef; }; export declare type ModalProps = Partial>; export interface ModalFuncProps extends ModalProps { autoFocusButton?: null | 'ok' | 'cancel'; content?: string | (() => VNodeTypes) | VNodeTypes; icon?: (() => VNodeTypes) | VNodeTypes; okType?: 'primary' | 'ghost' | 'dashed' | 'link' | 'text' | 'default' | 'shadow' | 'icon'; appContext?: any; [key: string]: any; } export interface ModalMethods { setModalProps: (props: Partial) => void; emitVisible?: (visible: boolean, uid: number) => void; redoModalHeight?: () => void; } export declare type RegisterFn = (modalMethods: ModalMethods, uuid?: string) => void; export interface ReturnMethods extends ModalMethods { openModal: (props?: boolean, data?: T, openOnSet?: boolean) => void; closeModal: () => void; getVisible?: ComputedRef; } export interface ReturnInnerMethods extends ModalMethods { closeModal: () => void; changeLoading: (loading: boolean) => void; changeOkLoading: (loading: boolean) => void; getVisible?: ComputedRef; redoModalHeight: () => void; } export declare type UseModalReturnType = [RegisterFn, ReturnMethods]; export declare type UseModalInnerReturnType = [RegisterFn, ReturnInnerMethods]; export {};