import * as BABYLON from '@babylonjs/core'; import type { DisplayBuildingEquipment, DeviceState, MeshOrNode, IList, DeviceMeta, EquWarningIdentifierType } from '../Types'; import { ComponentMgr } from '../ComponentMgr'; import { BuildBase } from '../base/BuildBase'; import { DeviceCollection } from './DeviceCollection'; import { AbstractDevice } from '../base/AbstractDevice'; import { DeviceWarningMgr } from './DeviceWarningMgr'; import { DeviceWarningIconMgr } from './DeviceWarningIconMgr'; declare const Store: { PiDaiJiTexture: string; PiDaiJiMoveX: number; PiDaiJiMoveY: number; Run: string; Stop: string; Warning: string; WarningSpeed: number; }; declare class DeviceBuilder extends BuildBase { BuildingDevices: IList; WarningMgr: DeviceWarningMgr; WarningIconMgr: DeviceWarningIconMgr; constructor(builderMgr: ComponentMgr); init(): void; checkMetadata(obj: MeshOrNode): void; parse(): void; getBuildingEquipments(): DisplayBuildingEquipment[]; private _promptColorHex; setDevicePrompt(modelName: string): void; findRelationDevice(equName: string): { device: BABYLON.Nullable; meshOrNode: BABYLON.Nullable; metadata: BABYLON.Nullable; }; setDeviceState(equName: string, state: DeviceState): void; setEquRunColor(equName: string, runColor: string): void; setEquStopColor(equName: string, stopColor: string): void; setEquWarning(equName: string, color: string, speed: number): void; private _deviceWarningIdentifierType; private calcDeviceRunTypes; getDeviceWarningIdentifierType(): EquWarningIdentifierType[]; setDeviceWarningIdentifierType(setting: EquWarningIdentifierType): void; attachEvents(): void; detachEvents(): void; } export { DeviceBuilder, Store };