import { Part } from './part.js'; import { Output } from '../output/output.js'; export interface ISerializedPart { id?: string; name?: string; [K: string]: any; } export declare class PartsManager { private _parts; private _registeredParts; private output; managed: boolean; constructor(output: Output); getRegisteredParts(): Map; getParts(): Set; onInject(): void; registerPart(partClass: typeof Part): void; addPart(partClass: typeof Part, data?: ISerializedPart): Part; removePart(part: Part): void; save(): { [K: string]: any; }[]; load(partsData: { [K: string]: any; }[]): void; reset(): void; }