/// declare module BabylonViewer { export let disableInit: boolean; export interface ITemplateConfiguration { location?: string; html?: string; id?: string; params?: { [key: string]: string | number | boolean | object; }; events?: { pointerdown?: boolean | { [id: string]: boolean; }; pointerup?: boolean | { [id: string]: boolean; }; pointermove?: boolean | { [id: string]: boolean; }; pointerover?: boolean | { [id: string]: boolean; }; pointerout?: boolean | { [id: string]: boolean; }; pointerenter?: boolean | { [id: string]: boolean; }; pointerleave?: boolean | { [id: string]: boolean; }; pointercancel?: boolean | { [id: string]: boolean; }; click?: boolean | { [id: string]: boolean; }; dragstart?: boolean | { [id: string]: boolean; }; drop?: boolean | { [id: string]: boolean; }; [key: string]: boolean | { [id: string]: boolean; } | undefined; }; } export interface EventCallback { event: Event; template: Template; selector: string; payload?: any; } class TemplateManager { containerElement: HTMLElement; onInit: BABYLON.Observable