import { Material, Mesh, Scene } from 'three'; import { IFCManager } from 'web-ifc-three/IFC/components/IFCManager'; import { IFCModel } from 'web-ifc-three/IFC/components/IFCModel'; import { IfcGeometryService } from '../helpers/ifc-geometry.service'; import { ThreeJsService } from '../helpers/three.service'; import { IntersectionResults } from '../models'; import * as i0 from "@angular/core"; export interface ClashDetectionInput { elementIDs: string[]; model?: IFCModel; modelID: number; } export declare class ClashDetectionService { private _3s; private _gos; loadedSubsets: string[]; loadedSubsetMaterials: Material[]; loadedSubsetExpressIDs: any[]; constructor(_3s: ThreeJsService, _gos: IfcGeometryService); extractMeshOfElements(ifcManager: IFCManager, scene: Scene, modelID: number, expressIDs: number[], name: string): Promise; getIntersecting(ifcManager: IFCManager, scene: Scene, elementsToCheck: ClashDetectionInput, targetElements: ClashDetectionInput, checkIndividualElements?: boolean, addSplitElementGeoemtries?: boolean, addElementGeoemtries?: boolean, addTargetGeometries?: boolean): Promise; private getIntersectingGeometry; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }