import { EventEmitter } from '../stencil.core'; import { Animation, AnimationBuilder, Config, Mode } from '../interface'; export interface OverlayEventDetail { data?: T; role?: string; } export interface OverlayInterface { mode: Mode; el: HTMLElement; willAnimate: boolean; keyboardClose: boolean; config: Config; overlayId: number; presented: boolean; animation?: Animation; animationCtrl: HTMLIonAnimationControllerElement; enterAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder; didPresent: EventEmitter; willPresent: EventEmitter; willDismiss: EventEmitter; didDismiss: EventEmitter; present(): Promise; dismiss(data?: any, role?: string): Promise; } export interface OverlayController { create(opts?: any): Promise; dismiss(data?: any, role?: string, alertId?: number): Promise; getTop(): HTMLElement; } export interface HTMLIonOverlayElement extends HTMLStencilElement { overlayId: number; dismiss(data?: any, role?: string): Promise; } export declare type OverlayMap = Map;