/** * Adapter for the National Planning Application Database (NPAD), DHLGH. * ArcGIS FeatureServer, layer 0 = "Planning Application Points". * * Field names pinned against live layer metadata (`/0?f=json`) on * 2026-07-10. Relevant fields: PlanningAuthority, ApplicationNumber, * DevelopmentDescription, DevelopmentAddress, ApplicationStatus, * ApplicationType, Decision, ReceivedDate, DecisionDate, GrantDate, * WithdrawnDate, LinkAppDetails (esriFieldTypeDate = epoch milliseconds). * Native SR is Web Mercator (102100); we pass inSR/outSR=4326 so everything * stays WGS84. maxRecordCount is 2000. * * ApplicationStatus is free text with 100+ inconsistent values across local * authorities (checked 2026-07-10), so decided/pending filtering uses * `DecisionDate IS [NOT] NULL` rather than status strings. */ export type PlanningStatusFilter = "all" | "decided" | "pending"; export interface PlanningQuery { lat: number; lng: number; radiusM: number; since?: string | undefined; status: PlanningStatusFilter; limit: number; } export interface PlanningApplicationRecord { reference: string | null; planning_authority: string | null; description: string | null; development_address: string | null; application_type: string | null; status: string | null; decision: string | null; received_date: string | null; decision_date: string | null; grant_date: string | null; withdrawn_date: string | null; link: string | null; lat: number | null; lng: number | null; } export interface PlanningQueryResult { records: PlanningApplicationRecord[]; /** True when the service had more matches than `limit`. */ truncated: boolean; } export declare function queryPlanningApplications(query: PlanningQuery, fetchImpl?: typeof fetch): Promise; export declare const NPAD_META: { readonly source: "National Planning Application Database (NPAD), Dept. of Housing, Local Government and Heritage"; readonly source_url: "https://services.arcgis.com/NzlPQPKn5QF9v2US/arcgis/rest/services/IrishPlanningApplications/FeatureServer"; readonly licence: "CC-BY 4.0 (data.gov.ie)"; readonly data_vintage: "Compiled from all 31 local authorities, coverage back to ~2010; update cadence varies by authority"; };