UNPKG

@vepler/area-reference-types

Version:

TypeScript type definitions for Vepler Area Reference API

103 lines (102 loc) 2.04 kB
/** * Areas Border API Types * * /api/areas/border/{targetType}/{targetCode}/{sourceType} endpoint */ import { GeographicEntityResponse } from './common'; import { GeographicEntityType } from '../../common'; /** * Border endpoint path parameters */ export interface BorderPathParams { /** * Target entity type for border areas */ targetType: GeographicEntityType; /** * Target entity code */ targetCode: string; /** * Source entity type */ sourceType: GeographicEntityType; } /** * Border endpoint query parameters */ export interface BorderQueryParams { /** * Maximum number of results */ limit?: number; /** * Maximum distance for border search */ maxDistance?: number; /** * Include full geometry in response */ includeGeometry?: boolean; } /** * Border relationship details */ export interface BorderRelationship { /** * Whether areas share a boundary */ touches_boundary: boolean; /** * Distance between areas */ distance: number; /** * Distance in meters */ distance_meters: number; /** * Percentage of overlap */ overlap_percentage: number; /** * Human-readable description */ description: string; } /** * Border endpoint response */ export interface BorderResponse { /** * Success flag */ success: boolean; /** * Border query result */ result: { /** * Target entity information */ target: { code: string; name: string; type: string; }; /** * Source entity type */ sourceType: string; /** * Array of bordering areas with relationship details */ areas: Array<GeographicEntityResponse & { relationship: BorderRelationship; }>; /** * Count of bordering areas */ count: number; }; }