/** * Adapter for the Residential Property Price Register (PSRA). * * Upstream is the official per-year-per-county CSV download from * propertypriceregister.ie — verified 2026-07-10 (see docs/DATA_SOURCES.md §2 * for why the CivicTech API was not used). CSVs are CP1252-encoded with * columns: Date of Sale (dd/mm/yyyy), Address, County, Eircode, Price (€), * Not Full Market Price, VAT Exclusive, Description of Property, * Property Size Description. Cached 24h per (county, year). */ /** Earliest year covered by the register. */ export declare const PPR_FIRST_YEAR = 2010; /** PPR counties as they appear in download filenames (Republic of Ireland). */ export declare const PPR_COUNTIES: readonly ["Carlow", "Cavan", "Clare", "Cork", "Donegal", "Dublin", "Galway", "Kerry", "Kildare", "Kilkenny", "Laois", "Leitrim", "Limerick", "Longford", "Louth", "Mayo", "Meath", "Monaghan", "Offaly", "Roscommon", "Sligo", "Tipperary", "Waterford", "Westmeath", "Wexford", "Wicklow"]; export type PprCounty = (typeof PPR_COUNTIES)[number]; /** Case-insensitive county match; returns the canonical filename form. */ export declare function canonicalCounty(input: string): PprCounty | null; export interface PprSaleRecord { date_of_sale: string; price_eur: number; address: string; county: string; eircode: string | null; description_of_property: string; property_size_description: string | null; not_full_market_price: boolean; vat_exclusive: boolean; } /** * Minimal RFC 4180 CSV parser (quoted fields, embedded commas/newlines, * doubled quotes). The PPR files are simple enough that a dependency isn't * warranted. */ export declare function parseCsv(text: string): string[][]; /** Fetch and parse one official year/county CSV. Cached 24h. */ export declare function fetchYearCounty(county: PprCounty, year: number, fetchImpl?: typeof fetch): Promise; export declare const PPR_META: { readonly source: "Residential Property Price Register, Property Services Regulatory Authority (PSRA)"; readonly source_url: "https://www.propertypriceregister.ie/"; readonly licence: "PSRA terms — data may be reused with acknowledgement of the Property Services Regulatory Authority as source"; readonly data_vintage: "Register updated as stamp-duty filings are processed (typically within weeks of sale); covers January 2010 onwards"; };