import { type DialogInstance } from 'element-plus'; import { type ExtractPropTypes, type SlotsType } from 'vue'; import { type ElDialogSlots } from '../form-dialog'; export declare const stackDialogProps: { appendToBody: BooleanConstructor; appendTo: import("element-plus/es/utils/index.mjs").EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import("element-plus/es/utils/index.mjs").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import("element-plus/es/utils/index.mjs").EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>; beforeClose: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; destroyOnClose: BooleanConstructor; closeOnClickModal: import("element-plus/es/utils/index.mjs").EpPropFinalized; closeOnPressEscape: import("element-plus/es/utils/index.mjs").EpPropFinalized; lockScroll: import("element-plus/es/utils/index.mjs").EpPropFinalized; modal: import("element-plus/es/utils/index.mjs").EpPropFinalized; modalPenetrable: BooleanConstructor; openDelay: import("element-plus/es/utils/index.mjs").EpPropFinalized; closeDelay: import("element-plus/es/utils/index.mjs").EpPropFinalized; top: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; modelValue: BooleanConstructor; modalClass: StringConstructor; headerClass: StringConstructor; bodyClass: StringConstructor; footerClass: StringConstructor; width: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; zIndex: { readonly type: import("vue").PropType; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; trapFocus: BooleanConstructor; headerAriaLevel: import("element-plus/es/utils/index.mjs").EpPropFinalized; transition: import("element-plus/es/utils/index.mjs").EpPropFinalized<(new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("element-plus").DialogTransition) | ((new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("element-plus").DialogTransition))[], unknown, unknown, undefined, boolean>; center: BooleanConstructor; alignCenter: import("element-plus/es/utils/index.mjs").EpPropFinalized; closeIcon: { readonly type: import("vue").PropType (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; draggable: import("element-plus/es/utils/index.mjs").EpPropFinalized; overflow: import("element-plus/es/utils/index.mjs").EpPropFinalized; fullscreen: BooleanConstructor; showClose: import("element-plus/es/utils/index.mjs").EpPropFinalized; title: import("element-plus/es/utils/index.mjs").EpPropFinalized; ariaLevel: import("element-plus/es/utils/index.mjs").EpPropFinalized; }; export type StackDialogProps = ExtractPropTypes; export interface StackDialogSlots extends ElDialogSlots { } export declare const stackDialogSlots: SlotsType; export declare const stackDialogEmits: { open: () => boolean; opened: () => boolean; close: () => boolean; closed: () => boolean; "update:modelValue": (value: boolean) => boolean; openAutoFocus: () => boolean; closeAutoFocus: () => boolean; }; export type StackDialogEmits = typeof stackDialogEmits; export interface StackDialogExpose extends DialogInstance { } export interface StackDialogInfo { transform: string; } export declare function createStackDialogInfo(): { transform: string; }; export interface StackDialogContext { addInfo: (info: StackDialogInfo) => void; removeInfo: (info: StackDialogInfo) => void; } export declare function useStackDialogProvide(): void; export declare function useStackDialog(): { onShow: () => void; onHide: () => void; info: { transform: string; }; };