///
import * as THREE from 'three';
import { GridClass } from './LabelPlacement';
import { IFloor } from '../../model/map/IFloor';
import { IMapOptions } from '../../model/IMapOption';
import { ICurrentPois } from '../../model/map/ICurrentPois';
import { IPoi } from '../../model/map/IPoi';
import { Group } from '../object3d/_Group';
import { Mesh } from '../object3d/_Mesh';
import { Points } from '../object3d/Points';
import { MapPoiMesh } from './MapPoiMesh';
import { MapPoiSprite } from './MapPoiSprite';
import { PoiGroup } from './PoiGroup';
import Store from '../core/Store';
import { CameraController } from '../core/CameraController';
import { TextureManager } from '../texture/TextureManager';
import { IObject } from '../../model/map/IObject.js';
import { IPoiOption } from '../../model/map/IPoiOption.js';
import { DataMapInfo } from '../dataContext/DataMapInfo';
import { Preprocessing } from '../processing/Preprocessing';
import { IDimension } from '../../model/common/IDimension';
import { IPadding } from '../../model/map/IPadding';
export declare class MapPoiGroup extends Group {
zCordsObj: number;
defaultFloor: IFloor | undefined;
mapOptions: IMapOptions;
mapInfo: DataMapInfo;
cameraController: CameraController;
private preprocessing;
poiGroup: PoiGroup;
canvasStacks: {
width: number;
height: number;
}[];
maxSection: number;
center: {
x: number;
y: number;
};
frustumSize: number;
poiSyncDefaultSizeRatio: number;
overlayGroup: Group;
overlayBoxes: Mesh[];
dotBuckets: Points[];
dotBucketsGroup: Group;
poiLength: number;
showPoiDebugingBox: boolean;
useCollisionTest?: boolean;
p1: THREE.Vector3;
p2: THREE.Vector3;
p3: THREE.Vector3;
p4: THREE.Vector3;
pointArr: THREE.Vector3[];
pointValues: number[][];
worldScale: THREE.Vector3;
mvPosition: THREE.Vector3;
alignedPosition: THREE.Vector2;
rotatedPosition: THREE.Vector2;
viewWorldMatrix: THREE.Matrix4;
passTime: number;
passTimeOver: number;
poiIdsOnNavi: string[];
gridClass: GridClass;
gridDivide: number;
textAllowOverlap: boolean;
isSyncPOI: boolean;
showGrid: boolean;
store: Store;
textureManager: TextureManager;
poiDataList: IPoi[];
clock: THREE.Clock;
placed: boolean;
commit: boolean;
dirty: boolean;
timeoutID: NodeJS.Timeout | undefined;
transformMatrix?: THREE.Matrix4;
constructor(poiDataList: IPoi[], store: Store, textureManager: TextureManager, cameraController: CameraController, preprocessing: Preprocessing, transformMatrix?: THREE.Matrix4);
setObjVolume(objs: IObject[]): Map;
initPoi(arr: IPoi, objMap: any, updateOption?: IPoiOption): void;
init(): void;
private drawPois;
setRotateToPoi(mesh: THREE.Group, rotate: number, direction: string): void;
showPoi(poiId: string | string[]): void;
hidePoi(poiId: string | string[]): void;
showAllPoi(): void;
hideAllPoi(): void;
showPoiByCode(code: string, childCodeList: string[] | undefined): void;
hidePoiByCode(code: string, childCodeList: string[] | undefined): void;
addPois(renderPoiDataList: IPoi[]): void;
removePois(removePoiDataList: IPoi[]): void;
updatePoiDataList(poiDataList: IPoi[]): void;
setDirtyIfNotCommit(): void;
setDirty(dirty: boolean): void;
setPlaced(placed: boolean): void;
setCommit(commit: boolean): void;
getClock(): THREE.Clock;
getDirty(): boolean;
getPlaced(): boolean;
getCommit(): boolean;
private findPoiItemGroup;
getCurrentPois(filterOptions: ICurrentPois): {
[key: string]: any;
}[];
updatePoi(updateOption: IPoiOption): IPoiOption;
resetPoi(poiIdList: string | string[]): void;
private updatePoiTitle;
drawPoiIcon(arr: IPoi): MapPoiSprite | MapPoiMesh;
drawPoiHeader(arr: IPoi, group: THREE.Group, updateOption?: IPoiOption): MapPoiSprite | MapPoiMesh;
drawPoiTitle(arr: IPoi, group: THREE.Group, updateOption?: IPoiOption, bbox?: THREE.Box3): MapPoiSprite | MapPoiMesh;
addPoiDebugBox(): void;
setDefaultPosition(isCapture?: boolean): void;
occurrences(string: string, subString: string, allowOverlapping?: Boolean): number;
updatePoiScaleByMapScale(): void;
repositionOfPOISpirteItems(): void;
showGridBox(): void;
getCollitionPois(): any;
transformVertex(vertexPosition: any, padding: IPadding, textSize: IDimension, mvPosition: any, center: THREE.Vector2, scale: any, sin: number | undefined, cos: number | undefined): void;
computePointBoundingBox(p1: THREE.Vector3, p2: THREE.Vector3, p3: THREE.Vector3, p4: THREE.Vector3, camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): THREE.Box2;
normalizedToPixels(coord: THREE.Vector2, renderWidthPixels: number, renderHeightPixels: number): THREE.Vector2;
resetGridClass(): void;
collisionTest(): void;
clearAllPoi(): void;
cleanup(): void;
Update(): void;
getPoiGroup(): PoiGroup;
getDebugBoxGroup(): Group;
getDebugDotGroup(): Group;
private setVisibilityByCode;
setMapOptions(mapOptions: IMapOptions): void;
repositionOfPOIMeshItems(arr: IPoi, iconMesh: any, titleMesh: any, boothNoMesh: any): void;
}