import { ExtractPropTypes } from 'vue'; import { handleCancel, handleConfirm, updatePopper, handleWrapperClick, useMouseEventDown, useMouseEventUp, hide, handleClose, watchVisible, computedStyle, computedBodyStyle, mounted, unMounted, computedAnimationName, afterEnter, afterLeave, hideScrollbar, showScrollbar, handleDrag } from './renderless'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamHooks, ISharedRenderlessParamUtils } from '../../../shared.type'; export type { ISharedRenderlessParamHooks }; export declare const $constants: { DIALOG_SLIDER_RIGHT: string; DIALOG_FADE: string; SELECT_DROPDOWN: string; DROPDOWN_MENU: string; DIALOG_BOX_CLASS: string; PC_SCROLL_LOCK_CLASS: string; MOBILE_SCROLL_LOCK_CLASS: string; Mode: string; scrollLockClass(mode: any): string; }; export declare const dialogBoxProps: { _constants: { type: ObjectConstructor; default: () => { DIALOG_SLIDER_RIGHT: string; DIALOG_FADE: string; SELECT_DROPDOWN: string; DROPDOWN_MENU: string; DIALOG_BOX_CLASS: string; PC_SCROLL_LOCK_CLASS: string; MOBILE_SCROLL_LOCK_CLASS: string; Mode: string; scrollLockClass(mode: any): string; }; }; appendToBody: { type: BooleanConstructor; default: () => boolean; }; beforeClose: FunctionConstructor; center: { type: BooleanConstructor; default: () => boolean; }; closeOnClickModal: { type: BooleanConstructor; default: () => boolean; }; closeOnPressEscape: { type: BooleanConstructor; default: () => boolean; }; destroyOnClose: { type: BooleanConstructor; default: () => boolean; }; dialogClass: { type: StringConstructor; default: () => string; }; draggable: { type: BooleanConstructor; default: () => boolean; }; dragOutsideWindow: { type: BooleanConstructor; default: () => boolean; }; fullscreen: { type: BooleanConstructor; default: () => boolean; }; isFormReset: { type: BooleanConstructor; default: () => boolean; }; lockScroll: { type: BooleanConstructor; default: () => boolean; }; modal: { type: BooleanConstructor; default: () => boolean; }; modalAppendToBody: { type: BooleanConstructor; default: () => boolean; }; resize: { type: BooleanConstructor; default: () => boolean; }; rightSlide: { type: BooleanConstructor; default: () => boolean; }; showClose: { type: BooleanConstructor; default: () => boolean; }; showHeader: { type: BooleanConstructor; default: () => boolean; }; title: { type: StringConstructor; default: () => string; }; top: StringConstructor; visible: { type: BooleanConstructor; default: () => boolean; }; width: { type: StringConstructor; default: () => string; }; maxHeight: { type: StringConstructor; default: () => string; }; }; export type IDialogBoxProps = ExtractPropTypes; export type IDialogBoxConstants = typeof $constants; export interface IDialogBoxState { emitter: ReturnType['emitter']>; key: number; x: number | string | null; y: number | string | null; top: number | string | null; left: number | string | null; max: number | string | null; move: boolean; closed: boolean; dragable: boolean; isFull: boolean; style: { [key: string]: string | number; }; bodyStyle: { [key: string]: string | number; }; animationName: string; opened?: boolean; rendered?: boolean; mouseUpWrapperFlag: boolean; mouseDownWrapperFlag: boolean; } export interface IDialogBoxApi { state: IDialogBoxState; open: (options: any) => void; close: () => void; broadcast: ISharedRenderlessParamUtils['broadcast']; handleCancel: ReturnType; handleConfirm: ReturnType; updatePopper: ReturnType; handleWrapperClick: ReturnType; useMouseEventDown: ReturnType; useMouseEventUp: ReturnType; hide: ReturnType; handleClose: ReturnType; watchVisible: ReturnType; computedStyle: ReturnType; computedBodyStyle: ReturnType; mounted: ReturnType; unMounted: ReturnType; computedAnimationName: ReturnType; afterEnter: ReturnType; afterLeave: ReturnType; hideScrollbar: ReturnType; showScrollbar: ReturnType; handleDrag: ReturnType; } export type IDialogBoxRenderlessParams = ISharedRenderlessFunctionParams & { api: IDialogBoxApi; props: IDialogBoxProps; state: IDialogBoxState; }; export type IDialogBoxRenderlessParamUtils = ISharedRenderlessParamUtils; export type IDialogBoxMergeStateParam = Pick & { usePopups: object; }; export type IDialogBoxInitApiParam = Pick & { usePopups: object; lockScrollClass: string; }; export interface IDialogBoxInitWatchParam { watch: ISharedRenderlessParamHooks['watch']; state: IDialogBoxState; api: IDialogBoxApi; props: IDialogBoxProps; } export interface IDialogBoxStyle { width?: string | number; height?: string | number; maxHeight?: string | number; top?: string | number; right?: string | number; left?: string | number; }