import { type PropType, type StyleValue } from 'vue'; import { type TransitionHookName } from '../use'; export interface PopupProps { rootStyle?: StyleValue; rootClass?: string; visible?: boolean; duration?: number; effect?: 'slide-top' | 'slide-right' | 'slide-bottom' | 'slide-left' | 'zoom' | 'fade'; overlay?: boolean; overlayClass?: string; overlayStyle?: string; background?: string; transparent?: boolean; } export declare const popupProps: { rootStyle: PropType; rootClass: StringConstructor; visible: BooleanConstructor; duration: { type: PropType; default: number; }; effect: { type: PropType<"fade" | "slide-top" | "slide-right" | "slide-bottom" | "slide-left" | "zoom" | undefined>; default: string; }; overlay: { type: BooleanConstructor; default: boolean; }; overlayClass: StringConstructor; overlayStyle: StringConstructor; background: StringConstructor; transparent: BooleanConstructor; }; export interface PopupSlots { default(props: Record): any; } export interface PopupEmits { (e: 'overlay-click', event: any): void; (e: 'before-enter'): void; (e: 'enter'): void; (e: 'after-enter'): void; (e: 'enter-cancelled'): void; (e: 'before-leave'): void; (e: 'leave'): void; (e: 'after-leave'): void; (e: 'leave-cancelled'): void; (e: 'visible-hook', name: TransitionHookName): void; } export interface PopupContext { visibleState: TransitionHookName | undefined; } export declare const popupContextSymbol: unique symbol; export declare function usePopupVisibleHookProvide(): (name: TransitionHookName) => void; export declare function usePopupEnter(callback: () => void): void;