/// declare module SANDBOX { export class GlobalState { currentScene: BABYLON.Scene; onSceneLoaded: BABYLON.Observable<{ scene: BABYLON.Scene; filename: string; }>; onError: BABYLON.Observable<{ scene?: BABYLON.Scene | undefined; message?: string | undefined; }>; onEnvironmentChanged: BABYLON.Observable; onRequestClickInterceptor: BABYLON.Observable; onClickInterceptorClicked: BABYLON.Observable; filesInput: BABYLON.FilesInput; isDebugLayerEnabled: boolean; showDebugLayer(): void; hideDebugLayer(): void; } } declare module SANDBOX { export class LocalStorageHelper { static ReadLocalStorageValue(key: string, defaultValue: number): number; } } declare module SANDBOX { export class EnvironmentTools { static SkyboxPath: string; static Skyboxes: string[]; static SkyboxesNames: string[]; static LoadSkyboxPathTexture(scene: BABYLON.Scene): BABYLON.HDRCubeTexture | BABYLON.CubeTexture; static HookWithEnvironmentChange(globalState: GlobalState): void; } } declare module SANDBOX { interface IRenderingZoneProps { globalState: GlobalState; assetUrl?: string; cameraPosition?: BABYLON.Vector3; expanded: boolean; } export class RenderingZone extends React.Component { private _currentPluginName; private _engine; private _scene; private _canvas; constructor(props: IRenderingZoneProps); initEngine(): void; prepareCamera(): void; handleErrors(): void; prepareLighting(): void; onSceneLoaded(filename: string): void; loadAssetFromUrl(): void; loadAsset(): void; componentDidMount(): void; shouldComponentUpdate(nextProps: IRenderingZoneProps): boolean; render(): JSX.Element; } } declare module SANDBOX { interface IFooterButtonProps { globalState: GlobalState; enabled: boolean; onClick: () => void; icon: any; label: string; } export class FooterButton extends React.Component { render(): JSX.Element | null; } } declare module SANDBOX { interface IDropUpButtonProps { globalState: GlobalState; enabled: boolean; icon?: any; label: string; options: string[]; selectedOption?: string; onOptionPicked: (option: string) => void; } export class DropUpButton extends React.Component { private _onClickInterceptorClickedObserver; constructor(props: IDropUpButtonProps); componentWillUnmount(): void; switchDropUp(): void; clickOption(option: string): void; render(): JSX.Element | null; } } declare module SANDBOX { interface IFooterFileButtonProps { globalState: GlobalState; enabled: boolean; icon: any; label: string; onFilesPicked: (evt: Event, files: FileList | null) => void; } export class FooterFileButton extends React.Component { onFilePicked(evt: React.ChangeEvent): void; render(): JSX.Element | null; } } declare module SANDBOX { interface IAnimationBarProps { globalState: GlobalState; enabled: boolean; } export class AnimationBar extends React.Component { private _currentScene; private _sliderSyncObserver; private _currentGroup; private _sliderRef; private _currentPlayingState; constructor(props: IAnimationBarProps); getCurrentPosition(): string; registerBeforeRender(newScene: BABYLON.Scene): void; pause(): void; play(): void; sliderInput(evt: React.FormEvent): void; render(): JSX.Element | null; } } declare module SANDBOX { interface IFooterProps { globalState: GlobalState; } export class Footer extends React.Component { constructor(props: IFooterProps); showInspector(): void; render(): JSX.Element; } } declare module SANDBOX { interface ISandboxProps { } export class Sandbox extends React.Component { private _globalState; private _assetUrl?; private _cameraPosition?; private _logoRef; private _dropTextRef; private _clickInterceptorRef; constructor(props: ISandboxProps); checkUrl(): void; componentDidUpdate(): void; render(): JSX.Element; static Show(hostElement: HTMLElement): void; } }