import type { Ref, RenderFunction, SetupContext } from 'vue' import type { DialogEmits as ElDialogEmits, DialogProps as ElDialogProps } from 'element-plus' import type { DialogHeaderSlotsParams, DialogProps, ResizeEventParam } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' export declare const KDialog: DefineComponentApp export type KDialogInstance = DefineComponentInstance export interface KDialogConstructor extends ComponentBaseOptions, KDialogMethods { props: KDialogProps context: SetupContext getRefMaps(): KDialogPrivateRef getComputeMaps(): KDialogPrivateComputed renderVN: RenderFunction } export interface KDialogPrivateRef { refElem: Ref } export interface KDialogPrivateComputed { } export type KDialogProps = Merge export type KDialogEmits = Merge< { resize: (type: ResizeEventParam) => void }, ElDialogEmits > export interface KDialogSlots { default: () => ComponentSlotType header: (params: DialogHeaderSlotsParams) => ComponentSlotType footer: () => ComponentSlotType } export type KDialogMethods = { resetPosition: () => void }