UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

30 lines (29 loc) 1.36 kB
import { BaseNodeType } from '../../src/engine/nodes/_Base'; import { ParamConstructorMap } from '../../src/engine/params/types/ParamConstructorMap'; import { ParamInitValuesTypeMap } from '../../src/engine/params/types/ParamInitValuesTypeMap'; import { ParamType } from '../../src/engine/poly/ParamType'; import { PolyDictionary } from '../../src/types/GlobalTypes'; export interface PresetEntry<T extends ParamType> { param: ParamConstructorMap[T]; value: ParamInitValuesTypeMap[T]; } export declare class BasePreset { private _entries; addEntry<T extends ParamType>(param: ParamConstructorMap[T], value: ParamInitValuesTypeMap[T]): this; entries(): PresetEntry<ParamType>[]; } export declare class NodePresetsCollection { private _presetsByName; setPresets(presetsByName: PolyDictionary<BasePreset>): this; addPreset(presetName: string, preset: BasePreset): this; private _presetNames; private _updatePresetNames; presetNames(): string[]; getPreset(presetName: string): BasePreset | undefined; } export type PresetsCollectionFactory<N extends BaseNodeType> = (node: N) => NodePresetsCollection; import { BaseNodeClass } from '../../src/engine/nodes/_Base'; export interface PresetRegister<N extends typeof BaseNodeClass, NI extends BaseNodeClass> { nodeClass: N; setupFunc: PresetsCollectionFactory<NI>; }