import { Ref } from 'vue';
import { ElDialogInstance } from '../ele-app/el';
import { EleDialogProps } from './props';

export declare const containerClass = "ele-dialog-container";
export declare const wrapperClass = "ele-dialog";
export declare const closedClass = "ele-dialog-closed";
/**
 * 获取弹窗容器
 * @param inner 是否限制在主体内部
 * @param multiple 是否支持同时打开多个
 * @param appendTo 自定义插入的容器
 * @param dialogsEl 限制在主体内部时的容器
 */
export declare function getDialogContainer(inner?: boolean, multiple?: boolean, appendTo?: string | HTMLElement, dialogsEl?: HTMLElement | null): HTMLElement | string;
/**
 * 弹窗支持移动
 * @param dialogRef 弹窗实例
 * @param props 属性
 * @param isFullscreen 全屏状态
 */
export declare function useDialogMove(dialogRef: Ref<ElDialogInstance>, props: EleDialogProps, isFullscreen: Ref<boolean>): {
    handleHeaderMousedown: (e: MouseEvent) => void;
    handleHeaderTouchstart: (e: TouchEvent) => void;
};
/**
 * 弹窗支持拉伸
 * @param dialogRef 弹窗实例
 * @param props 属性
 * @param isFullscreen 全屏状态
 */
export declare function useDialogResize(dialogRef: Ref<ElDialogInstance>, props: EleDialogProps, isFullscreen: Ref<boolean>): {
    handleResizeMousedown: (e: MouseEvent) => void;
    handleResizeTouchstart: (e: TouchEvent) => void;
};
/**
 * 弹窗事件处理
 * @param dialogRef 弹窗实例
 * @param props 属性
 * @param isFullscreen 全屏状态
 */
export declare function useDialogEvent(dialogRef: Ref<ElDialogInstance>, props: EleDialogProps, isFullscreen: Ref<boolean>): {
    handleHeaderMousedown: (e: MouseEvent) => void;
    handleHeaderTouchstart: (e: TouchEvent) => void;
    handleResizeMousedown: (e: MouseEvent) => void;
    handleResizeTouchstart: (e: TouchEvent) => void;
    bindAutoTopEvent: () => void;
    unbindAutoTopEvent: () => void;
    topDialog: (el?: HTMLElement) => void;
    setInitPosition: () => void;
    resetDialogStyle: () => void;
};
