declare module BabylonViewer { export let disableInit: boolean; export function disposeAll(): void; 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; }; } /** * The object sent when an event is triggered */ export interface EventCallback { /** * The native javascript event triggered */ event: Event; /** * The template on which the event was triggered */ template: Template; /** * The selector provided */ selector: string; /** * Payload, if provided by the viewer */ payload?: any; } /** * The template manager, a member of the viewer class, will manage the viewer's templates and generate the HTML. * The template manager managers a single viewer and can be seen as the collection of all sub-templates of the viewer. */ interface TemplateManager { /** * The element to which all the templates wil be appended */ containerElement: HTMLElement; /** * Will be triggered when any template is initialized */ onTemplateInit: BABYLON.Observable