import type { LASHeader } from "../las-types.js"; import { WasmLasZipDecompressor } from "../../libs/laz-rs-wasm/laz_rs_wasm.js"; type LASPoint = { position: [number, number, number]; intensity: number; classification: number; color?: [number, number, number]; }; type LASData = { buffer: ArrayBuffer; count: number; hasMoreData: boolean; }; declare class LASLoader { arraybuffer: ArrayBuffer; readOffset: number; header: LASHeader | null; constructor(arraybuffer: ArrayBuffer); /** * @returns boolean */ open(): boolean; /** * Parsing of incoming binary * @returns LASHeader */ getHeader(): LASHeader; /** * Reading data * @param count * @param skip * @returns LasData */ readData(count: number, skip: number): LASData; /** * Method which brings data to null to close the file * @returns */ close(): boolean; } /** * LAZ Loader * Uses NaCL module to load LAZ files */ declare class LAZLoader { arraybuffer: ArrayBuffer; readOffset: number; instance: WasmLasZipDecompressor | null; header: LASHeader | null; constructor(arraybuffer: ArrayBuffer); /** * Opens the file * @returns boolean */ open(): boolean; getHeader(): LASHeader; /** * @param count * @param offset * @param skip * @returns LASData */ readData(count: number, skip: number): LASData; /** * Deletes the instance * @returns boolean */ close(): boolean; } /** * Helper class: Decodes LAS records into points */ declare class LASDecoder { arrayb: ArrayBuffer; decoder: (dv: DataView) => LASPoint; pointsCount: number; pointSize: number; constructor(buffer: ArrayBuffer, len: number, header: LASHeader); /** * Decodes data depends on this point size * @param index * @returns New object */ getPoint(index: number): LASPoint; } /** * A single consistent interface for loading LAS/LAZ files */ export declare class LASFile { arraybuffer: ArrayBuffer; formatId: number; loader: LASLoader | LAZLoader; isCompressed: boolean; isOpen: boolean; version: number; versionAsString: string; constructor(arraybuffer: ArrayBuffer); validate(): void; /** * Determines format in parameters of LASHeader */ determineFormat(): void; /** * Determines version * @returns version */ determineVersion(): number; /** * Reads if the file is open * @returns boolean */ open(): void; /** * Gets the header * @returns Header */ getHeader(): LASHeader; /** * @param count * @param start * @param skip * @returns LASData */ readData(count: number, skip: number): LASData; /** * Closes the file */ close(): void; /** */ getUnpacker(): typeof LASDecoder; } export {}; //# sourceMappingURL=laslaz-decoder.d.ts.map