/// import { EventEmitter } from "events"; import { Envelope, IEnvelope, Geometry } from 'ginkgoch-geom'; import Shx from '../shx/Shx'; import ShpHeader from './ShpHeader'; import Optional from '../base/Optional'; import ShpIterator from './ShpIterator'; import OpenerSync from '../base/OpenerSync'; import GeomParser from './parser/GeomParser'; import { FileStream } from 'ginkgoch-filestream'; import IQueryFilter from '../shared/IQueryFilter'; import { ShapefileType } from "../shared"; export default class Shp extends OpenerSync { filePath: string; _flag: string; _fd: number | undefined; _header: undefined | ShpHeader; _shxHeader: undefined | ShpHeader; _shpParser: Optional; _shx: Optional; _eventEmitter: EventEmitter | undefined; _stream: FileStream | undefined; constructor(filePath: string, flag?: string); /** * @override */ _open(): void; /** * @override */ _close(): void; _readHeader(): ShpHeader; envelope(): Envelope; count(): number; shapeType(): ShapefileType; iterator(filter?: IQueryFilter): ShpIterator; /** * Gets shp record by id. * @param id The record id. Starts from 1. */ get(id: number): Geometry | null; records(filter?: IQueryFilter): Array; static _matchFilter(filter: IQueryFilter | null | undefined, recordEnvelope: IEnvelope): boolean; /** * Remove record by a specific id. * @param {number} id The shp record id. Starts from 1. */ remove(id: number): void; /** * Update geometry by a specific record id. * @param id The record id to update. Starts from 1. * @param geometry The geometry to update. */ update(id: number, geometry: Geometry): void; push(geometry: Geometry): void; _push(geometry: Geometry, id?: number): { geomBuff: Buffer; offset: number; }; _invalidCache(): void; static createEmpty(filePath: string, fileType: ShapefileType): Shp; private _updateHeader; private _updateShxHeader; private get __fd(); private get __header(); private get __shpParser(); private get __shx(); private get __reader(); } //# sourceMappingURL=Shp.d.ts.map