/** @jsx jsx */ /** @jsxFrag React.Fragment */ /** * Items pertaining to extent data. */ import React from 'react'; import type { ItemClassConfiguration } from '@riboseinc/paneron-registry-kit/types'; import { type CommonGRItemData } from './common'; interface ExtentBoundingPolygonPoint { /** Latitude (+/-90, Northern hemisphere positive) */ lat: number; /** Longitude (+/-180, Eastern hemisphere positive) */ lon: number; } export interface Extent { n: string; e: string; s: string; w: string; name: string; polygonPoints?: ExtentBoundingPolygonPoint[]; /** Start date on which item is valid. */ temporalExtentStartDate?: string; /** End date on which item stops being valid. */ temporalExtentEndDate?: string; } /** A.k.a. “domain of validity”. */ export interface ExtentItemData extends CommonGRItemData { extent: Extent; } /** Placeholder/stub extent value. */ export declare const DEFAULT_EXTENT: Extent; export declare const EXTENT_DEFAULTS: ExtentItemData; /** * A widget for editing extent data. */ export declare const ExtentEdit: React.FC<{ extent: Extent; onChange?: (ext: Extent) => void; }>; export declare const extent: ItemClassConfiguration; /** * A widget combining two widgets, * one for legacy extent data and one for extent reference. * * Legacy extent data is read-only regardless of `onChange` prop. */ export declare const CombinedExtentWidget: React.VoidFunctionComponent<{ /** * Legacy extent information. * If undefined, legacy extent widget is not shown. */ extent?: Extent; /** Extent item reference. */ extentRef?: string; /** * If provided, editing extent reference can be changed, * upon which this callback is invoked. */ onRefChange?: (ref: string | undefined) => void; }>; export {};