import * as BABYLON from '@babylonjs/core'; import { DeviceMeta, DeviceState, DisplayEquipment, MeshOrNode, EquWarningIdentifierSetting, IDict } from "../Types"; import { DeviceBuilder } from "../device/DeviceBuilder"; import { Viewer } from '../Viewer'; declare abstract class AbstractDevice { DeviceBuilder: DeviceBuilder; Viewer: Viewer; Items: MeshOrNode[]; abstract Type: string; constructor(deviceBuilder: DeviceBuilder); abstract is(node: BABYLON.TransformNode): boolean; add(item: MeshOrNode): void; protected isRunning(meshOrNode: MeshOrNode): boolean; getDeviceState(meshOrNode: MeshOrNode): DeviceState; protected DefinitionIsRunning(meshOrNode: MeshOrNode, running?: boolean): void; setDeviceStateColorHandler(meshOrNode: MeshOrNode, state: DeviceState): void; setDeviceStateWarningHandler(meshOrNode: MeshOrNode, state: DeviceState): void; refreshDisplayState(meshOrNode: MeshOrNode): void; setDeviceState(meshOrNode: MeshOrNode, state: DeviceState): void; getDeviceRunColor(meshOrNode: MeshOrNode): string; setDeviceRunColor(meshOrNode: MeshOrNode, runColor: string): void; getDeviceStopColor(meshOrNode: MeshOrNode): string; setDeviceStopColor(meshOrNode: MeshOrNode, stopColor: string): void; getDeviceWarningColor(meshOrNode: MeshOrNode): string; getDeviceWarningSpeed(meshOrNode: MeshOrNode): number; setDeviceWarningSetting(meshOrNode: MeshOrNode, color: string, speed: number): void; getDeviceWarningIdentifierSetting(meshOrNode: MeshOrNode): EquWarningIdentifierSetting; setDeviceWarningIdentifierSetting(meshOrNode: MeshOrNode, warningIdentifierSetting: EquWarningIdentifierSetting): void; hasAnimation(): boolean; getDisplayEquipments(): DisplayEquipment[]; writeItemsExtProp(): void; protected getDeviceMeta(meshOrNode: MeshOrNode): DeviceMeta; attachEvents(): void; detachEvents(): void; Shell: IDict; private attachActionMgr; getMeshes(): BABYLON.AbstractMesh[]; private getSubMeshes; getAttachMesh(modelName: string): BABYLON.Nullable; } export { AbstractDevice };