import { type LatLng } from "../geo.js"; import { InteractiveLayer } from "../interactive-layer.js"; import { type LayerOptions } from "../layer.js"; import type { Orihon } from "../map.js"; import type { ReadonlyFeatureSource } from "../source-types.js"; import type { GeoJSONFeature, GeoJSONFeatureCollection } from "../geojson-types.js"; export interface TextLayerOptions extends LayerOptions { text: (feature: GeoJSONFeature) => string; minZoom?: number; maxZoom?: number; font?: string; fill?: string; halo?: string; haloWidth?: number; offset?: [number, number]; collision?: boolean; collisionPadding?: number; placement?: "point" | "line"; maxLabels?: number; priority?: (feature: GeoJSONFeature) => number; maxDpr?: number; } export interface TextLayerEventMap { layout: { count: number; }; } export declare class TextLayer extends InteractiveLayer, TextLayerEventMap> { #private; private features; private readonly source; private sourceUnsubscribe; private canvas; private visible; private readonly rebuildOnSettle; private readonly sourceChanged; constructor(features: GeoJSONFeature[] | GeoJSONFeatureCollection | ReadonlyFeatureSource, options: TextLayerOptions); setData(features: GeoJSONFeature[] | GeoJSONFeatureCollection): this; getVisibleLabels(): ReadonlyArray<{ feature: GeoJSONFeature; text: string; anchor: LatLng; }>; onAdd(map: Orihon): void; onRemove(): void; rebuild(): this; render(): void; } export declare function textLayer(features: GeoJSONFeature[] | GeoJSONFeatureCollection | ReadonlyFeatureSource, options: TextLayerOptions): TextLayer; //# sourceMappingURL=text-layer.d.ts.map