declare module "inferno-popper" { import * as Inferno from "inferno"; import * as PopperJS from "popper.js"; interface IRestProps { restProps: { [prop: string]: any; }, } interface IComponentProps { children?: Inferno.InfernoNode | Inferno.SFC; component?: Inferno.InfernoType; innerRef?: (ref: HTMLElement) => void; [prop: string]: any; } interface IManagerProps { tag?: string | boolean; [prop: string]: any; } class Manager extends Inferno.Component { } interface IPopperChildrenProps extends IRestProps { popperProps: { ref: (ref: HTMLElement) => void; style: Inferno.CSSProperties; ["data-placement"]: PopperJS.Placement; }; restProps: IRestProps; scheduleUpdate: (() => void) | undefined; } interface IPopperProps extends IComponentProps { eventsEnabled?: boolean; modifiers?: PopperJS.Modifiers; placement?: PopperJS.Placement; } class Popper extends Inferno.Component { } interface ITargetChildrenProps extends IRestProps { targetProps: { ref: (ref: HTMLElement) => void; } } class Target extends Inferno.Component, {}> { } interface IArrowChildrenProps extends IRestProps { arrowProps: { ref: (ref: HTMLElement) => void; style: Inferno.CSSProperties; } } class Arrow extends Inferno.Component, {}> { } }