import { ModulVue } from '../../utils/vue/vue'; import { MOpenTrigger } from '../open-trigger/open-trigger'; export interface PortalMixin { propOpen: boolean; preload: boolean; loaded: boolean; getPortalElement(): HTMLElement; getReference(): HTMLElement | undefined; getTrigger(): HTMLElement | undefined; setFocusToPortal(): void; setFocusToTrigger(): void; tryClose(): void; } export interface PortalMixinImpl { doCustomPropOpen(value: boolean, el: HTMLElement): boolean; handlesFocus(): boolean; getBackdropMode(): BackdropMode; getPortalElement(): HTMLElement; } export declare enum BackdropMode { None = 0, ScrollOnly = 1, BackdropFast = 2, BackdropSlow = 3 } export declare enum PortalTransitionDuration { Fast = 200, Regular = 300, Slow = 450, XSlow = 600 } export declare class Portal extends ModulVue implements PortalMixin { readonly openTrigger: MOpenTrigger; readonly open: boolean; readonly id: string; readonly disabled: boolean; readonly reference: HTMLElement; readonly trigger: HTMLElement; readonly className: string; readonly preload: boolean; readonly lazy: boolean; loaded: boolean; propId: string; private internalTrigger; private portalTargetEl; private internalOpen; private stackId; private internalTransitionDuration; private opening; private portalTargetCreated; private portalTargetMounted; private clickEventListener; private mouseenterEventListener; private mousedownEventListener; emitUpdateOpen(open: boolean): void; emitOpen(): void; emitClose(): void; emitPortalMounted(): void; emitPortalAfterOpen(): void; emitPortalAfterClose(): void; emitAfterEnter(_el: HTMLElement): void; emitClick(event: MouseEvent): void; onOpenChange(open: boolean): void; setFocusToPortal(): void; setFocusToTrigger(): void; getPortalElement(): HTMLElement; getReference(): HTMLElement | undefined; getTrigger(): HTMLElement | undefined; tryClose(): Promise; protected created(): void; protected mounted(): void; protected beforeDestroy(): void; get propOpen(): boolean; manageOpeningAndClosing(open: boolean): void; set propOpen(open: boolean); get transitionDuration(): number; set transitionDuration(speed: number); get portalTargetSelector(): string; get portalCreated(): boolean; get portalMounted(): boolean; private onTriggerChange; private onTriggerHookChange; private handleTrigger; private toggle; private handleMouseEnter; private ensurePortalTargetEl; } //# sourceMappingURL=portal.d.ts.map