react-babylonjs
Version:
React for Babylon.js
38 lines (37 loc) • 1.41 kB
TypeScript
import { Scene } from '@babylonjs/core/scene.js';
import { Nullable } from '@babylonjs/core/types.js';
import { CreateInfo } from './codeGenerationDescriptors';
import { CreatedInstanceMetadata } from './CreatedInstance';
import { LifecycleListener } from './LifecycleListener';
import { HasPropsHandlers } from './PropsHandler';
export type DynamicHost<T, U> = {
/**
* lookup on host element
*/
hostElementName: string;
/**
* null is only valid when the metadata declares a deferred creation and the lifecycle listener creates the instance.
*/
hostFactory: (scene: Scene, props: any) => Nullable<T>;
propHandlerInstance: HasPropsHandlers<U>;
createInfo: CreateInfo;
metadata: CreatedInstanceMetadata;
lifecycleListenerFactory?: (scene: Scene, props: any) => LifecycleListener<T>;
};
/**
* Experimental - this will change - just a demo!
*
* Allows dynamic registration of host elements that the reconciler will take into consideration (case sensitive).
*/
export declare class HostRegistrationStore {
private static _store;
/**
* Registers a new host element
* @param host host element to dynamically register
*/
static Register(host: DynamicHost<any, any>): void;
/**
* Retrieve a registered host by element name
*/
static GetRegisteredHost(hostElementName: string): DynamicHost<any, any> | undefined;
}