import m from 'mithril'; import { Container, ContainerAttributes } from '../common/Container'; import { ValidEventTypes } from '../event-emitter/EventEmitter'; import './popup.style.css'; import { IFixedComponent } from '../common/Types'; declare type PopupSide = 'top' | 'right' | 'bottom' | 'left'; export declare type PopupAttrs = ContainerAttributes & { side?: PopupSide | PopupSide[]; offset?: number; hidden?: boolean; }; declare type PopupEventTypes = ValidEventTypes & { afterShow: () => void; afterHide: () => void; }; declare type PopupPosition = { left?: number | `${number}px` | `${number}%`; top?: number | `${number}px` | `${number}%`; width?: number | `${number}px` | `${number}%`; height?: number | `${number}px` | `${number}%`; minWidth?: number | `${number}px` | `${number}%`; minHeight?: number | `${number}px` | `${number}%`; maxWidth?: number | `${number}px` | `${number}%`; maxHeight?: number | `${number}px` | `${number}%`; }; export declare class Popup extends Container implements IFixedComponent { protected modal: boolean; private target?; private position?; hidePopup?: (e: MouseEvent) => void; _shape: { targetWidth: number; targetHeight: number; targetTop: number; targetLeft: number; top: number; left: number; width: number; height: number; }; isHidden(): boolean; hide(): void; show(target: PointerEvent | HTMLElement, position?: PopupPosition): void; view(): m.Vnode; private _fixShape; private _getStyle; } export {}; //# sourceMappingURL=Popup.d.ts.map