@chrtco/sdk 0.10.3 → 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -856,6 +856,190 @@ interface OfflineStyleResponse {
856
856
  heartbeat_after: number;
857
857
  server_time: number;
858
858
  }
859
+ /** A measured value with its unit. **Absent entirely** when not reported. */
860
+ interface WeatherReading {
861
+ value: number;
862
+ unit: string;
863
+ }
864
+ interface MarineConditionsOptions {
865
+ lat: number;
866
+ lon: number;
867
+ /** Wind is knots under both systems — nautical convention wins. */
868
+ units?: "imperial" | "metric";
869
+ /**
870
+ * Pin a specific NDBC station id. If it is not reporting in range the call
871
+ * fails with `station_out_of_range` rather than quietly substituting another
872
+ * buoy — the point of pinning is that the answer is about the station you
873
+ * asked for.
874
+ */
875
+ station?: string;
876
+ signal?: AbortSignal;
877
+ }
878
+ interface MarineStation {
879
+ id: string;
880
+ name?: string;
881
+ /** Operating organisation, when it differs from NDBC. Credit it. */
882
+ owner?: string;
883
+ type?: string;
884
+ lat: number;
885
+ lon: number;
886
+ distanceNm: number;
887
+ bearingDeg: number;
888
+ }
889
+ interface NearbyMarineStation {
890
+ id: string;
891
+ /** Frequently absent — NDBC's inventory does not cover every station. */
892
+ name?: string;
893
+ distanceNm: number;
894
+ bearingDeg: number;
895
+ /** Coarser than the `conditions` fields: `wind` covers speed, gust and direction. */
896
+ reports: string[];
897
+ ageMinutes: number;
898
+ }
899
+ interface MarineConditionsResponse {
900
+ query: {
901
+ lat: number;
902
+ lon: number;
903
+ };
904
+ station: MarineStation;
905
+ observed: {
906
+ time: string;
907
+ /** **Display this.** These are not live readings. */
908
+ ageMinutes: number;
909
+ };
910
+ /** Only what the station reported. A missing key means not reported — never zero. */
911
+ conditions: Record<string, WeatherReading | undefined>;
912
+ /** Every field this station did not report, named explicitly. */
913
+ unavailable: string[];
914
+ nearby: NearbyMarineStation[];
915
+ units: "imperial" | "metric";
916
+ /** `degraded` past two hours. Still returned — an old real reading beats nothing offshore. */
917
+ dataQuality: "live" | "degraded";
918
+ attribution: string;
919
+ disclaimer: string;
920
+ }
921
+ interface MarineAlertsOptions {
922
+ lat?: number;
923
+ lon?: number;
924
+ /** A UGC marine zone id, e.g. `ANZ250`. Supply this or lat/lon. */
925
+ zone?: string;
926
+ signal?: AbortSignal;
927
+ }
928
+ interface MarineZoneRef {
929
+ id: string;
930
+ name?: string;
931
+ type?: "coastal" | "offshore";
932
+ office?: string;
933
+ /** Other zones the same bulletin forecasts for. */
934
+ alsoCovers?: string[];
935
+ }
936
+ interface MarineAlert {
937
+ id: string;
938
+ /** NWS's own product name, verbatim. A display string, not an enum. */
939
+ event: string;
940
+ severity: "extreme" | "severe" | "moderate" | "minor" | "unknown";
941
+ urgency: "immediate" | "expected" | "future" | "past" | "unknown";
942
+ certainty: "observed" | "likely" | "possible" | "unlikely" | "unknown";
943
+ messageType?: string;
944
+ /** When the hazard begins. */
945
+ onset?: string;
946
+ /** When the alert was issued. */
947
+ effective?: string;
948
+ /** When the **bulletin** lapses. Use only to schedule a re-fetch. */
949
+ expires?: string;
950
+ /** When the **hazard** passes. Use this to describe the hazard. */
951
+ ends?: string;
952
+ headline?: string;
953
+ description?: string;
954
+ /** NWS's own advice to mariners. Display verbatim; do not paraphrase. */
955
+ instruction?: string;
956
+ senderName?: string;
957
+ areaDesc?: string;
958
+ }
959
+ interface MarineAlertsResponse {
960
+ query: {
961
+ lat?: number;
962
+ lon?: number;
963
+ zone?: string;
964
+ };
965
+ zone: MarineZoneRef;
966
+ /** Most severe first. **Empty is not an all-clear.** */
967
+ alerts: MarineAlert[];
968
+ /** When CHRT last asked NWS. Judge staleness from this. */
969
+ checkedAt: string;
970
+ attribution: string;
971
+ disclaimer: string;
972
+ }
973
+ interface MarineForecastOptions {
974
+ lat?: number;
975
+ lon?: number;
976
+ zone?: string;
977
+ signal?: AbortSignal;
978
+ }
979
+ interface MarineWind {
980
+ /** Compass abbreviation, e.g. `SW`. */
981
+ from?: string;
982
+ /** Absent when NWS gave only an upper bound. Absent means unknown, not 0. */
983
+ minKn?: number;
984
+ maxKn?: number;
985
+ gustKn?: number;
986
+ /** A stated mid-period change, e.g. `becoming SW`. */
987
+ shift?: string;
988
+ /** `light and variable`, where direction is not meaningful. */
989
+ variable?: boolean;
990
+ }
991
+ interface MarineSeas {
992
+ /** **Significant** wave height — mean of the highest 1/3. */
993
+ minFt?: number;
994
+ /** **Significant** wave height — mean of the highest 1/3. */
995
+ maxFt?: number;
996
+ /**
997
+ * **Occasional** wave height — mean of the highest **1/10**. Great Lakes only.
998
+ *
999
+ * A different quantity from the range above and never to be averaged into it.
1000
+ * In "Waves 2 to 4 ft … occasionally to 8 ft", the 8 ft wave is the one that
1001
+ * knocks a small boat down.
1002
+ */
1003
+ occasionalFt?: number;
1004
+ }
1005
+ interface MarineSwellTrain {
1006
+ from: string;
1007
+ heightFt: number;
1008
+ periodS: number;
1009
+ }
1010
+ interface MarineForecastPeriod {
1011
+ /** NWS's own label, verbatim. Not hourly, not uniform. */
1012
+ label: string;
1013
+ /** **Authoritative.** Where the parsed fields disagree with this, this wins. */
1014
+ text: string;
1015
+ wind?: MarineWind;
1016
+ seas?: MarineSeas;
1017
+ swell?: MarineSwellTrain[];
1018
+ }
1019
+ interface MarineForecastResponse {
1020
+ query: {
1021
+ lat?: number;
1022
+ lon?: number;
1023
+ zone?: string;
1024
+ };
1025
+ zone: MarineZoneRef;
1026
+ issued?: string;
1027
+ /** The forecast's own stated validity, from the bulletin — not a CHRT TTL. */
1028
+ expires?: string;
1029
+ dataQuality: "live" | "degraded";
1030
+ /** Narrative only — no severity, no timing. Warnings come from `alerts()`. */
1031
+ headlines: string[];
1032
+ periods: MarineForecastPeriod[];
1033
+ source: {
1034
+ /** The upstream NWS product. Use it to verify CHRT against NOAA directly. */
1035
+ productId: string;
1036
+ productType: "CWF" | "NSH" | "GLF" | "OFF";
1037
+ office: string;
1038
+ wmoId?: string;
1039
+ };
1040
+ attribution: string;
1041
+ disclaimer: string;
1042
+ }
859
1043
 
860
1044
  declare class ChrtError extends Error {
861
1045
  status: number;
@@ -1095,6 +1279,78 @@ declare class CellsEndpoint {
1095
1279
  get(cellId: string, signal?: AbortSignal): Promise<CellDetail>;
1096
1280
  }
1097
1281
 
1282
+ /**
1283
+ * CHRTweather — NOAA-backed marine weather.
1284
+ *
1285
+ * **U.S. waters only**, and every method needs the `weather:read` scope on your
1286
+ * API key. A chart key does not carry it implicitly: ask CHRT to enable it. A
1287
+ * key without it fails with `403 weather_not_entitled`, which no amount of
1288
+ * retrying fixes.
1289
+ *
1290
+ * Three rules govern reading anything this returns, and they are the difference
1291
+ * between a useful readout and a dangerous one:
1292
+ *
1293
+ * 1. **An empty result never means calm water.** No alerts in force, no buoy in
1294
+ * range, no marine zone at this position — each means *we do not know* or
1295
+ * *nothing is posted*. None of them means conditions are good. There is
1296
+ * deliberately no `safe` or `status` field to bind a green tick to.
1297
+ * 2. **Absent is not zero.** A measurement a station did not report, or a phrase
1298
+ * the forecast parser could not read, is omitted rather than defaulted.
1299
+ * Treat a missing number as unknown — never render it as `0`.
1300
+ * 3. **On the forecast, `text` is authoritative.** The structured fields are
1301
+ * parsed from it, and some content exists only in the text.
1302
+ *
1303
+ * CHRT is not the issuing authority. Every response carries `attribution` and
1304
+ * `disclaimer` — display them.
1305
+ */
1306
+ declare class WeatherEndpoint {
1307
+ private http;
1308
+ constructor(http: HttpClient);
1309
+ /**
1310
+ * Observed conditions from the nearest reporting NOAA NDBC station.
1311
+ *
1312
+ * A **measurement, not a forecast**, and not live — most buoys report hourly
1313
+ * and the median observation is around 40 minutes old. `observed.ageMinutes`
1314
+ * is on every response and should be displayed: a readout that looks current
1315
+ * but is 90 minutes stale is worse than one that says so.
1316
+ *
1317
+ * `unavailable` names every field the station did not report, so absence is
1318
+ * stated rather than inferred from a missing key.
1319
+ */
1320
+ conditions(options: MarineConditionsOptions): Promise<MarineConditionsResponse>;
1321
+ /**
1322
+ * Active NWS marine warnings for the zone — Small Craft Advisory, Gale,
1323
+ * Storm, Hurricane Force Wind, Special Marine Warning. Most severe first.
1324
+ *
1325
+ * Its own call, so warnings can be re-checked cheaply (~60 s) without pulling
1326
+ * a forecast you already have.
1327
+ *
1328
+ * **`expires` and `ends` are different.** `expires` is when the *bulletin*
1329
+ * lapses — alerts are usually re-issued before then. `ends` is when the
1330
+ * *hazard* is expected to be over. They are routinely hours apart, so
1331
+ * describe the hazard with `ends` and use `expires` only to decide when to
1332
+ * re-fetch.
1333
+ *
1334
+ * Display `instruction` verbatim: it is NWS's own advice to mariners.
1335
+ */
1336
+ alerts(options: MarineAlertsOptions): Promise<MarineAlertsResponse>;
1337
+ /**
1338
+ * The NWS marine zone forecast — U.S. coastal and Great Lakes waters.
1339
+ *
1340
+ * Periods are NWS's own and are **neither hourly nor uniform**: `OVERNIGHT`,
1341
+ * `TUE NIGHT`, `WED NIGHT THROUGH THU NIGHT`. A single period can span days.
1342
+ * Flattening them into an hourly series invents resolution the data does not
1343
+ * have.
1344
+ *
1345
+ * `expires` is the forecast's **own** stated validity, taken from the
1346
+ * bulletin, not a TTL CHRT invented. `source.productId` identifies the
1347
+ * upstream NWS product, so you can verify CHRT against NOAA directly.
1348
+ *
1349
+ * Offshore zones are not yet supported and fail with `501`.
1350
+ */
1351
+ forecast(options: MarineForecastOptions): Promise<MarineForecastResponse>;
1352
+ }
1353
+
1098
1354
  declare class CoverageEndpoint {
1099
1355
  private http;
1100
1356
  constructor(http: HttpClient);
@@ -3497,6 +3753,14 @@ declare class Chrt {
3497
3753
  readonly cells: CellsEndpoint;
3498
3754
  /** Coverage data — list available chart sources */
3499
3755
  readonly coverage: CoverageEndpoint;
3756
+ /**
3757
+ * CHRTweather — NOAA-backed marine weather: observed conditions, active
3758
+ * warnings, and the NWS zone forecast. U.S. waters only, and requires the
3759
+ * `weather:read` scope on your key — a chart key does not carry it.
3760
+ *
3761
+ * An empty result from any of these never means calm water.
3762
+ */
3763
+ readonly weather: WeatherEndpoint;
3500
3764
  /**
3501
3765
  * CHRToffline — download MBTiles bundles for offline use.
3502
3766
  * Requires `deviceId` in config. Manifest-based budget enforcement
@@ -3712,4 +3976,4 @@ declare class Chrt {
3712
3976
  warmTiles(region?: string): Promise<void>;
3713
3977
  }
3714
3978
 
3715
- export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101Feature, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_NEW_SYMBOLS, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };
3979
+ export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsOptions, type MarineConditionsResponse, type MarineForecastOptions, type MarineForecastPeriod, type MarineForecastResponse, type MarineSeas, type MarineStation, type MarineSwellTrain, type MarineWind, type MarineZoneRef, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101Feature, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_NEW_SYMBOLS, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };
package/dist/index.d.ts CHANGED
@@ -856,6 +856,190 @@ interface OfflineStyleResponse {
856
856
  heartbeat_after: number;
857
857
  server_time: number;
858
858
  }
859
+ /** A measured value with its unit. **Absent entirely** when not reported. */
860
+ interface WeatherReading {
861
+ value: number;
862
+ unit: string;
863
+ }
864
+ interface MarineConditionsOptions {
865
+ lat: number;
866
+ lon: number;
867
+ /** Wind is knots under both systems — nautical convention wins. */
868
+ units?: "imperial" | "metric";
869
+ /**
870
+ * Pin a specific NDBC station id. If it is not reporting in range the call
871
+ * fails with `station_out_of_range` rather than quietly substituting another
872
+ * buoy — the point of pinning is that the answer is about the station you
873
+ * asked for.
874
+ */
875
+ station?: string;
876
+ signal?: AbortSignal;
877
+ }
878
+ interface MarineStation {
879
+ id: string;
880
+ name?: string;
881
+ /** Operating organisation, when it differs from NDBC. Credit it. */
882
+ owner?: string;
883
+ type?: string;
884
+ lat: number;
885
+ lon: number;
886
+ distanceNm: number;
887
+ bearingDeg: number;
888
+ }
889
+ interface NearbyMarineStation {
890
+ id: string;
891
+ /** Frequently absent — NDBC's inventory does not cover every station. */
892
+ name?: string;
893
+ distanceNm: number;
894
+ bearingDeg: number;
895
+ /** Coarser than the `conditions` fields: `wind` covers speed, gust and direction. */
896
+ reports: string[];
897
+ ageMinutes: number;
898
+ }
899
+ interface MarineConditionsResponse {
900
+ query: {
901
+ lat: number;
902
+ lon: number;
903
+ };
904
+ station: MarineStation;
905
+ observed: {
906
+ time: string;
907
+ /** **Display this.** These are not live readings. */
908
+ ageMinutes: number;
909
+ };
910
+ /** Only what the station reported. A missing key means not reported — never zero. */
911
+ conditions: Record<string, WeatherReading | undefined>;
912
+ /** Every field this station did not report, named explicitly. */
913
+ unavailable: string[];
914
+ nearby: NearbyMarineStation[];
915
+ units: "imperial" | "metric";
916
+ /** `degraded` past two hours. Still returned — an old real reading beats nothing offshore. */
917
+ dataQuality: "live" | "degraded";
918
+ attribution: string;
919
+ disclaimer: string;
920
+ }
921
+ interface MarineAlertsOptions {
922
+ lat?: number;
923
+ lon?: number;
924
+ /** A UGC marine zone id, e.g. `ANZ250`. Supply this or lat/lon. */
925
+ zone?: string;
926
+ signal?: AbortSignal;
927
+ }
928
+ interface MarineZoneRef {
929
+ id: string;
930
+ name?: string;
931
+ type?: "coastal" | "offshore";
932
+ office?: string;
933
+ /** Other zones the same bulletin forecasts for. */
934
+ alsoCovers?: string[];
935
+ }
936
+ interface MarineAlert {
937
+ id: string;
938
+ /** NWS's own product name, verbatim. A display string, not an enum. */
939
+ event: string;
940
+ severity: "extreme" | "severe" | "moderate" | "minor" | "unknown";
941
+ urgency: "immediate" | "expected" | "future" | "past" | "unknown";
942
+ certainty: "observed" | "likely" | "possible" | "unlikely" | "unknown";
943
+ messageType?: string;
944
+ /** When the hazard begins. */
945
+ onset?: string;
946
+ /** When the alert was issued. */
947
+ effective?: string;
948
+ /** When the **bulletin** lapses. Use only to schedule a re-fetch. */
949
+ expires?: string;
950
+ /** When the **hazard** passes. Use this to describe the hazard. */
951
+ ends?: string;
952
+ headline?: string;
953
+ description?: string;
954
+ /** NWS's own advice to mariners. Display verbatim; do not paraphrase. */
955
+ instruction?: string;
956
+ senderName?: string;
957
+ areaDesc?: string;
958
+ }
959
+ interface MarineAlertsResponse {
960
+ query: {
961
+ lat?: number;
962
+ lon?: number;
963
+ zone?: string;
964
+ };
965
+ zone: MarineZoneRef;
966
+ /** Most severe first. **Empty is not an all-clear.** */
967
+ alerts: MarineAlert[];
968
+ /** When CHRT last asked NWS. Judge staleness from this. */
969
+ checkedAt: string;
970
+ attribution: string;
971
+ disclaimer: string;
972
+ }
973
+ interface MarineForecastOptions {
974
+ lat?: number;
975
+ lon?: number;
976
+ zone?: string;
977
+ signal?: AbortSignal;
978
+ }
979
+ interface MarineWind {
980
+ /** Compass abbreviation, e.g. `SW`. */
981
+ from?: string;
982
+ /** Absent when NWS gave only an upper bound. Absent means unknown, not 0. */
983
+ minKn?: number;
984
+ maxKn?: number;
985
+ gustKn?: number;
986
+ /** A stated mid-period change, e.g. `becoming SW`. */
987
+ shift?: string;
988
+ /** `light and variable`, where direction is not meaningful. */
989
+ variable?: boolean;
990
+ }
991
+ interface MarineSeas {
992
+ /** **Significant** wave height — mean of the highest 1/3. */
993
+ minFt?: number;
994
+ /** **Significant** wave height — mean of the highest 1/3. */
995
+ maxFt?: number;
996
+ /**
997
+ * **Occasional** wave height — mean of the highest **1/10**. Great Lakes only.
998
+ *
999
+ * A different quantity from the range above and never to be averaged into it.
1000
+ * In "Waves 2 to 4 ft … occasionally to 8 ft", the 8 ft wave is the one that
1001
+ * knocks a small boat down.
1002
+ */
1003
+ occasionalFt?: number;
1004
+ }
1005
+ interface MarineSwellTrain {
1006
+ from: string;
1007
+ heightFt: number;
1008
+ periodS: number;
1009
+ }
1010
+ interface MarineForecastPeriod {
1011
+ /** NWS's own label, verbatim. Not hourly, not uniform. */
1012
+ label: string;
1013
+ /** **Authoritative.** Where the parsed fields disagree with this, this wins. */
1014
+ text: string;
1015
+ wind?: MarineWind;
1016
+ seas?: MarineSeas;
1017
+ swell?: MarineSwellTrain[];
1018
+ }
1019
+ interface MarineForecastResponse {
1020
+ query: {
1021
+ lat?: number;
1022
+ lon?: number;
1023
+ zone?: string;
1024
+ };
1025
+ zone: MarineZoneRef;
1026
+ issued?: string;
1027
+ /** The forecast's own stated validity, from the bulletin — not a CHRT TTL. */
1028
+ expires?: string;
1029
+ dataQuality: "live" | "degraded";
1030
+ /** Narrative only — no severity, no timing. Warnings come from `alerts()`. */
1031
+ headlines: string[];
1032
+ periods: MarineForecastPeriod[];
1033
+ source: {
1034
+ /** The upstream NWS product. Use it to verify CHRT against NOAA directly. */
1035
+ productId: string;
1036
+ productType: "CWF" | "NSH" | "GLF" | "OFF";
1037
+ office: string;
1038
+ wmoId?: string;
1039
+ };
1040
+ attribution: string;
1041
+ disclaimer: string;
1042
+ }
859
1043
 
860
1044
  declare class ChrtError extends Error {
861
1045
  status: number;
@@ -1095,6 +1279,78 @@ declare class CellsEndpoint {
1095
1279
  get(cellId: string, signal?: AbortSignal): Promise<CellDetail>;
1096
1280
  }
1097
1281
 
1282
+ /**
1283
+ * CHRTweather — NOAA-backed marine weather.
1284
+ *
1285
+ * **U.S. waters only**, and every method needs the `weather:read` scope on your
1286
+ * API key. A chart key does not carry it implicitly: ask CHRT to enable it. A
1287
+ * key without it fails with `403 weather_not_entitled`, which no amount of
1288
+ * retrying fixes.
1289
+ *
1290
+ * Three rules govern reading anything this returns, and they are the difference
1291
+ * between a useful readout and a dangerous one:
1292
+ *
1293
+ * 1. **An empty result never means calm water.** No alerts in force, no buoy in
1294
+ * range, no marine zone at this position — each means *we do not know* or
1295
+ * *nothing is posted*. None of them means conditions are good. There is
1296
+ * deliberately no `safe` or `status` field to bind a green tick to.
1297
+ * 2. **Absent is not zero.** A measurement a station did not report, or a phrase
1298
+ * the forecast parser could not read, is omitted rather than defaulted.
1299
+ * Treat a missing number as unknown — never render it as `0`.
1300
+ * 3. **On the forecast, `text` is authoritative.** The structured fields are
1301
+ * parsed from it, and some content exists only in the text.
1302
+ *
1303
+ * CHRT is not the issuing authority. Every response carries `attribution` and
1304
+ * `disclaimer` — display them.
1305
+ */
1306
+ declare class WeatherEndpoint {
1307
+ private http;
1308
+ constructor(http: HttpClient);
1309
+ /**
1310
+ * Observed conditions from the nearest reporting NOAA NDBC station.
1311
+ *
1312
+ * A **measurement, not a forecast**, and not live — most buoys report hourly
1313
+ * and the median observation is around 40 minutes old. `observed.ageMinutes`
1314
+ * is on every response and should be displayed: a readout that looks current
1315
+ * but is 90 minutes stale is worse than one that says so.
1316
+ *
1317
+ * `unavailable` names every field the station did not report, so absence is
1318
+ * stated rather than inferred from a missing key.
1319
+ */
1320
+ conditions(options: MarineConditionsOptions): Promise<MarineConditionsResponse>;
1321
+ /**
1322
+ * Active NWS marine warnings for the zone — Small Craft Advisory, Gale,
1323
+ * Storm, Hurricane Force Wind, Special Marine Warning. Most severe first.
1324
+ *
1325
+ * Its own call, so warnings can be re-checked cheaply (~60 s) without pulling
1326
+ * a forecast you already have.
1327
+ *
1328
+ * **`expires` and `ends` are different.** `expires` is when the *bulletin*
1329
+ * lapses — alerts are usually re-issued before then. `ends` is when the
1330
+ * *hazard* is expected to be over. They are routinely hours apart, so
1331
+ * describe the hazard with `ends` and use `expires` only to decide when to
1332
+ * re-fetch.
1333
+ *
1334
+ * Display `instruction` verbatim: it is NWS's own advice to mariners.
1335
+ */
1336
+ alerts(options: MarineAlertsOptions): Promise<MarineAlertsResponse>;
1337
+ /**
1338
+ * The NWS marine zone forecast — U.S. coastal and Great Lakes waters.
1339
+ *
1340
+ * Periods are NWS's own and are **neither hourly nor uniform**: `OVERNIGHT`,
1341
+ * `TUE NIGHT`, `WED NIGHT THROUGH THU NIGHT`. A single period can span days.
1342
+ * Flattening them into an hourly series invents resolution the data does not
1343
+ * have.
1344
+ *
1345
+ * `expires` is the forecast's **own** stated validity, taken from the
1346
+ * bulletin, not a TTL CHRT invented. `source.productId` identifies the
1347
+ * upstream NWS product, so you can verify CHRT against NOAA directly.
1348
+ *
1349
+ * Offshore zones are not yet supported and fail with `501`.
1350
+ */
1351
+ forecast(options: MarineForecastOptions): Promise<MarineForecastResponse>;
1352
+ }
1353
+
1098
1354
  declare class CoverageEndpoint {
1099
1355
  private http;
1100
1356
  constructor(http: HttpClient);
@@ -3497,6 +3753,14 @@ declare class Chrt {
3497
3753
  readonly cells: CellsEndpoint;
3498
3754
  /** Coverage data — list available chart sources */
3499
3755
  readonly coverage: CoverageEndpoint;
3756
+ /**
3757
+ * CHRTweather — NOAA-backed marine weather: observed conditions, active
3758
+ * warnings, and the NWS zone forecast. U.S. waters only, and requires the
3759
+ * `weather:read` scope on your key — a chart key does not carry it.
3760
+ *
3761
+ * An empty result from any of these never means calm water.
3762
+ */
3763
+ readonly weather: WeatherEndpoint;
3500
3764
  /**
3501
3765
  * CHRToffline — download MBTiles bundles for offline use.
3502
3766
  * Requires `deviceId` in config. Manifest-based budget enforcement
@@ -3712,4 +3976,4 @@ declare class Chrt {
3712
3976
  warmTiles(region?: string): Promise<void>;
3713
3977
  }
3714
3978
 
3715
- export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101Feature, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_NEW_SYMBOLS, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };
3979
+ export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsOptions, type MarineConditionsResponse, type MarineForecastOptions, type MarineForecastPeriod, type MarineForecastResponse, type MarineSeas, type MarineStation, type MarineSwellTrain, type MarineWind, type MarineZoneRef, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101Feature, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_NEW_SYMBOLS, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };