/** * General OSM entity utilities. * * Provides type guards, equality checks, and type detection for OSM entities. * Uses deep equality checking for tags, info, and entity-specific properties. * * @module */ import type { GeoBbox2D, LonLat, OsmEntity, OsmEntityType, OsmNode, OsmRelation, OsmWay } from "./types.ts"; /** Type guard: check if entity is a Node. */ export declare function isNode(entity: OsmEntity): entity is OsmNode; /** Check if two nodes are equal (position, tags, and info). */ export declare function isNodeEqual(a: OsmNode, b: OsmNode): boolean; /** Type guard: check if entity is a Way. */ export declare function isWay(entity: OsmEntity): entity is OsmWay; /** Type guard: check if entity is a Relation. */ export declare function isRelation(entity: OsmEntity): entity is OsmRelation; /** Check if two ways are equal (refs, tags, and info). */ export declare function isWayEqual(a: OsmWay, b: OsmWay): boolean; /** Check if two relations are equal (members, tags, and info). */ export declare function isRelationEqual(a: OsmRelation, b: OsmRelation): boolean; /** Check if two entities have equal properties (type-aware comparison). */ export declare function entityPropertiesEqual(a: OsmEntity, b: OsmEntity): boolean; /** Get the entity type ("node", "way", or "relation") for an entity. */ export declare function getEntityType(entity: OsmEntity): OsmEntityType; /** * Check if a relation is a multipolygon relation. */ export declare function isMultipolygonRelation(relation: OsmRelation): boolean; /** * Compute the bounding box of a set of coordinates. * Returns `[minLon, minLat, maxLon, maxLat]`. */ export declare function bboxFromLonLats(lonLats: LonLat[]): GeoBbox2D; //# sourceMappingURL=utils.d.ts.map