/** * `recorded_crime_context` — mapped administrative crime context, never a * safety score or point-crime heatmap. */ import { z } from "zod"; import { type OffenceCode } from "../sources/cso_crime.js"; export declare const name = "recorded_crime_context"; export declare const description = "Get recorded-crime context for the Garda sub-district containing an Irish location, using official CSO counts and current Garda administrative boundaries.\n\nUse this for factual questions such as \"what categories of crime have been recorded in this wider Garda area?\" or to supply category-specific values for a choropleth. It returns annual counts, a pooled annual average, rates per 1,000 Census 2022 residents with approximate 95% Poisson intervals, and optionally the latest four-quarter Garda Division trend. Provide WGS84 lat/lng or a free-text address. Offence groups use official broad codes 03\u201316; omit them to return all published local groups.\n\nThis is NOT a street-level crime heatmap or a property safety assessment. CSO station data applies to the entire Garda sub-district polygon: incidents have no published coordinates and may have happened anywhere within it. Never infer a hotspot near the address, spread incidents evenly across the polygon, combine categories into a score, or label the property/area safe or unsafe. Homicide (01) and sexual offences (02) are not published at this local resolution and are explicitly reported as unchecked. Resident-based rates are weak in city centres, airports, retail and nightlife areas with large non-resident populations; enforcement activity also affects some categories. Recorded incidents use PULSE report dates, can be revised, and are not a measure of all crime experienced. Fraud has a 2023 break and a narrower public-reported series from 2024."; export declare const inputSchema: { lat: z.ZodOptional; lng: z.ZodOptional; address: z.ZodOptional; years: z.ZodOptional; offence_groups: z.ZodOptional, "many">>; include_division_trend: z.ZodOptional; }; interface Input { lat?: number | undefined; lng?: number | undefined; address?: string | undefined; years?: number | undefined; offence_groups?: OffenceCode[] | undefined; include_division_trend?: boolean | undefined; } interface RateInterval { lower: number; upper: number; method: "Byar approximate 95% Poisson interval"; } /** Byar's accurate closed-form approximation to an exact Poisson interval. */ export declare function poissonRateInterval95(incidents: number, populationExposure: number): RateInterval | null; export declare function handler(input: Input): Promise<{ content: { type: "text"; text: string; }[]; }>; export {};