import { type PropType, type StyleValue } from 'vue'; import { type TransitionHookName } from '../use'; export interface PopoutProps { rootStyle?: StyleValue; rootClass?: string; visible?: boolean; duration?: boolean; title?: string; type?: 'compact' | 'loose'; showCancel?: boolean; cancelText?: string; showConfirm?: boolean; confirmText?: string; confirmDisabled?: boolean; showClose?: boolean; showFooter?: boolean; overlayClosable?: boolean; beforeClose?: (type: 'close' | 'cancel' | 'confirm') => boolean | undefined | Promise; } export declare const popoutProps: { rootStyle: PropType; rootClass: StringConstructor; visible: BooleanConstructor; duration: { type: NumberConstructor; default: number; }; title: StringConstructor; type: { type: PropType>; default: string; }; showCancel: BooleanConstructor; cancelText: StringConstructor; showConfirm: { type: BooleanConstructor; default: boolean; }; confirmText: StringConstructor; confirmDisabled: BooleanConstructor; showClose: { type: BooleanConstructor; default: boolean; }; showFooter: { type: BooleanConstructor; default: boolean; }; overlayClosable: { type: BooleanConstructor; default: boolean; }; beforeClose: PropType<((type: 'close' | 'cancel' | 'confirm') => boolean | undefined | Promise) | undefined>; }; export interface PopoutSlots { default(props: Record): any; title(props: Record): any; cancel(props: Record): any; confirm(props: Record): any; visible(props: { whole: boolean; already: boolean; }): any; } export interface PopoutEmits { (e: 'update:visible', visible: boolean): void; (e: 'close'): void; (e: 'cancel'): void; (e: 'confirm'): void; (e: 'visible-hook', name: TransitionHookName): void; }