import { BufferGeometry, Material, Matrix4 } from "three"; import { Items, IFragment } from "./base-types"; import { FragmentMesh } from "./fragment-mesh"; import { Blocks } from "./blocks"; export declare class Fragment implements IFragment { mesh: FragmentMesh; capacity: number; fragments: { [id: string]: Fragment; }; id: string; blocks: Blocks; items: string[]; hiddenInstances: { [id: string]: Items; }; constructor(geometry: BufferGeometry, material: Material | Material[], count: number); dispose(disposeResources?: boolean): void; getItemID(instanceID: number, blockID: number): string; getInstanceAndBlockID(itemID: string): { instanceID: number; blockID: number; }; getVertexBlockID(geometry: BufferGeometry, index: number): number; getItemData(itemID: string): { instanceID: number; blockID: number; }; getInstance(instanceID: number, matrix: Matrix4): void; setInstance(instanceID: number, items: Items): void; addInstances(items: Items[]): void; removeInstances(itemsIDs: string[]): void; clear(): void; addFragment(id: string, material?: Material[]): Fragment; removeFragment(id: string): void; resetVisibility(): void; setVisibility(itemIDs: string[], visible: boolean): void; resize(size: number): void; exportData(): { ids: string; id: string; position: Float32Array; normal: Float32Array; index: number[]; blockID: number[]; groups: number[]; materials: number[]; matrices: number[]; }; export(): Promise<{ geometry: File; data: File; }>; exportRaw(): Promise<{ geometry: any; data: string; }>; private copyGroups; private initializeGeometry; private saveItemsInMap; private resizeCapacityIfNeeded; private createFragmentMeshWithNewSize; private disposeNestedFragments; private checkBlockNumberValid; private checkIfInstanceExist; private deleteAndRearrangeInstances; private deleteAndRearrange; private getItemIndex; private getInstanceIDFromIndex; private toggleInstanceVisibility; private makeInstancesInvisible; private makeInstancesVisible; private filterHiddenItems; private toggleBlockVisibility; }