UNPKG

threepipe

Version:

A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.

54 lines 2.62 kB
import { ISerializedConfig, IViewerEvent, ThreeViewer, IViewerEventTypes } from './ThreeViewer'; import { Event, EventDispatcher } from 'three'; import { PartialRecord, SerializationMetaType } from '../utils'; import { IViewerPlugin, IViewerPluginAsync } from './IViewerPlugin'; import { UiObjectConfig } from 'uiconfig.js'; /** * Base Class for Viewer Plugins * @category Viewer */ export declare abstract class AViewerPlugin<T extends string = string, TViewer extends ThreeViewer = ThreeViewer, IsSync extends boolean = boolean> extends EventDispatcher<Event, T | 'serialize' | 'deserialize'> implements IViewerPlugin<TViewer, IsSync> { ['constructor']: typeof AViewerPlugin; static readonly PluginType: string; static readonly OldPluginType?: string; protected _dirty: boolean; uiConfig?: UiObjectConfig; protected _viewer?: TViewer; abstract enabled: boolean; abstract onAdded(viewer: TViewer): IsSync extends false ? Promise<void> : void; abstract onRemove(viewer: TViewer): IsSync extends false ? Promise<void> : void; dispose(): void; toJSON(meta?: SerializationMetaType): ISerializedConfig; fromJSON(data: ISerializedConfig, meta?: SerializationMetaType): this | null | Promise<this | null>; protected _storeKey(prefix?: string): string; exportState(): ISerializedConfig | Record<string, never>; importState(state: any): Promise<void>; protected _viewerListeners: PartialRecord<IViewerEventTypes, (e: IViewerEvent) => void>; protected _onViewerEvent: (e: IViewerEvent) => IViewerEvent; private _disabledBy; disable: (key: any) => void; enable: (key: any) => void; isDisabled: () => boolean; setDirty?(...args: any[]): any; get dirty(): boolean; set dirty(value: boolean); } /** * Base Class for Sync Viewer Plugins * @category Viewer */ export declare abstract class AViewerPluginSync<T extends string, TViewer extends ThreeViewer = ThreeViewer> extends AViewerPlugin<T, TViewer, true> { ['constructor']: (typeof AViewerPluginSync) & (typeof AViewerPlugin); onAdded(viewer: TViewer): void; onRemove(viewer: TViewer): void; } /** * Base Class for Async Viewer Plugins * @category Viewer */ export declare abstract class AViewerPluginAsync<T extends string, TViewer extends ThreeViewer = ThreeViewer> extends AViewerPlugin<T, TViewer, false> implements IViewerPluginAsync<TViewer> { ['constructor']: (typeof AViewerPluginAsync) & (typeof AViewerPlugin); onAdded(viewer: TViewer): Promise<void>; onRemove(viewer: TViewer): Promise<void>; } //# sourceMappingURL=AViewerPlugin.d.ts.map