import { EventEmitter } from '../../stencil-public-runtime'; export type ComponentProps = { [key: string]: any; }; export type ComponentRef = Function | HTMLElement | string | null; export interface FrameworkDelegate { attachViewToDom(container: any, component: any, propsOrDataObj?: any, cssClasses?: string[]): Promise; removeViewFromDom(container: any, component: any): Promise; } export interface ModalOptions { component: T; componentProps?: ComponentProps; presentingElement?: HTMLElement; modalWidth?: number; cssClass?: string | string[]; isClosable?: boolean; backdropDismiss?: boolean; hasBackdrop?: boolean; dataTestId?: string; delegate?: FrameworkDelegate; id?: string; space?: 'small' | 'medium' | 'large'; } export interface OverlayEventDetail { data?: T; role?: string; } export interface OverlayInterface { el: HTMLElement; overlayIndex: number; presented: boolean; didPresent: EventEmitter; willPresent: EventEmitter; willDismiss: EventEmitter; didDismiss: EventEmitter; present(): Promise; dismiss(data?: any, role?: string): Promise; }