export declare enum PlacementType { "Top" = "top", "TopStart" = "top-start", "TopEnd" = "top-end", "Bottom" = "bottom", "BottomStart" = "bottom-start", "BottomEnd" = "bottom-end", "Left" = "left", "LeftStart" = "left-start", "LeftEnd" = "left-end", "Right" = "right", "RightStart" = "right-start", "RightEnd" = "right-end" } export declare enum EmitType { Hover = "hover", Click = "click" } export declare enum ModeType { Light = "light", Dark = "dark" } export declare enum StatusType { Opening = "ppening", Opened = "opened", Closing = "closing", Closed = "closed" } export type RequireOneKey = { [P in K]-?: T[P]; } & Omit; export interface PopoverConfig { trigger: HTMLElement; content: HTMLElement | string | number; placement?: `${PlacementType}`; showArrow?: boolean; appendTo?: HTMLElement; mode?: `${ModeType}`; emit?: `${EmitType}`; defaultOpen?: boolean; openDelay?: number; closeDelay?: number; offset?: number; enterable?: boolean; disabled?: boolean; clickOutsideClose?: boolean; closeOnScroll?: boolean; triggerOpenClass?: string; wrapperClass?: string; animationClass?: string; onBeforeEnter?: (t?: any) => void; onEntered?: (t?: any) => void; onBeforeExit?: (t?: any) => void; onExited?: (t?: any) => void; onOpen?: (t?: any) => void; onClose?: (t?: any) => void; } export interface AnimationClass { enterFrom: string; enterActive: string; enterTo: string; exitFrom: string; exitActive: string; exitTo: string; } declare class Popover { #private; config: RequireOneKey; triggerElement: HTMLElement; popoverElement: HTMLElement; arrowElement?: HTMLElement; status: StatusType | null; /** * Constructor * @param config */ constructor(config: PopoverConfig); /** * Initialize */ protected init(): void; /** * Open the Popover instance. */ open(): void; /** * Close the Popover instance. */ close(): void; /** * Open the popover after `config.openDelay` time. */ openWithDelay(): void; /** * Close the popover after `config.closeDelay` time. */ closeWithDelay(): void; /** * Update */ update(): void; /** * Update config * @param config */ updateConfig(newConfig: Partial): void; /** * Toggle the Popover instance open or close. */ toggle(): void; /** * Enable */ enable(): void; /** * Disable and close popover. */ disable(): void; /** * Destroy the Popover instance. */ destroy(): void; /** * Remove existing popovers */ cleanup(): void; } export { Popover as default, }; export {};