/** biome-ignore-all lint/complexity/noStaticOnlyClass: */ import { LatLng } from '../map/models/LatLng.js'; import { LatLngBounds } from '../map/models/LatLngBounds.js'; export type SpatialValue = string | LatLng | LatLngBounds; export type AllowedTypes = { allowPoint: boolean; allowBbox: boolean; }; export type ParseResult = { ok: true; value: LatLng | LatLngBounds; serialized: string; } | { ok: false; error: string; }; export declare class SpatialPickerService { /** * Parse a raw coordinate string into a typed LatLng or LatLngBounds. * * Accepted formats: * "lat, lng" → LatLng * "west, south, east, north" → LatLngBounds */ static parse(input: string): LatLng | LatLngBounds; /** * Validate that coordinates are within their legal ranges. */ static validateRanges(value?: SpatialValue): string | null; /** * Validate the parsed value against which input types are permitted. */ static validateAllowedType(value: SpatialValue, allowed: AllowedTypes): string | null; /** * Validate the parsed value against a spatial constraints extent. * Constraints are in "west, south, east, north" format. */ static validateConstraints(value: SpatialValue, constraintsStr: string): string | null; /** * Serialize a parsed value back to canonical string form. */ static serialize(value?: SpatialValue): string; /** * Full parse + validate pipeline. Returns a discriminated union result. */ static validate(input: string, allowed: AllowedTypes, constraintsStr?: string): ParseResult; private static formatHint; }