import { type GeoJSONInput, type GeoJSONLayer, type GeoJSONOptions, type LatLngLike, Layer, type MapOptions, type Marker, type MarkerAppearance, type MarkerIcon, type Orihon, type OverlayContent, type PathOptions, type Polygon, type Polyline, type PopupOptions, type TileLayerOptions, type TileTemplate, type TooltipOptions, type RasterTileLayer } from "./standard.js"; export type EasyBasemapOptions = Omit & { url: TileTemplate; attribution?: string; }; /** A ready layer, raster URL/template, or raster options used as the map basemap. */ export type EasyBasemap = Layer | TileTemplate | EasyBasemapOptions; export interface EasyMapOptions extends MapOptions { /** Optional ready layer or raster basemap created and added with the map. */ basemap?: EasyBasemap | false | null; } interface EasyOverlayExtras { popup?: OverlayContent; popupOptions?: PopupOptions; tooltip?: OverlayContent; tooltipOptions?: TooltipOptions; } interface EasyMarkerShared extends EasyOverlayExtras { position: LatLngLike; title?: string; className?: string; draggable?: boolean; ariaLabel?: string; opacity?: number; zIndexOffset?: number; keyboard?: boolean; interactive?: boolean; rotation?: number; rotationOrigin?: string; pane?: string; attribution?: string; /** Flat appearance fields belong under `appearance`. */ shape?: never; color?: never; strokeColor?: never; size?: never; strokeWidth?: never; html?: never; } /** Object-first Easy marker: exactly one of appearance / content / icon. */ export type EasyMarkerOptions = EasyMarkerShared & ({ appearance?: MarkerAppearance; content?: never; icon?: never; anchor?: [number, number]; } | { appearance?: never; content: Node | string | number; icon?: never; anchor?: [number, number]; } | { appearance?: never; content?: never; icon: MarkerIcon; anchor?: never; }); export interface EasyPolylineOptions extends EasyOverlayExtras { points: LatLngLike[]; style?: PathOptions; } export interface EasyPolygonOptions extends EasyOverlayExtras { /** Outer ring, or rings with holes. */ rings: LatLngLike[] | LatLngLike[][]; style?: PathOptions; } export interface EasyTileLayerOptions extends TileLayerOptions { url: TileTemplate; } export interface EasyGeoJSONOptions extends GeoJSONOptions { data?: GeoJSONInput | null; } /** * Map-centric Standard adapter. Easy sentences are object-first: * `map.addMarker({ position, appearance })`, `map.addPolyline({ points, style })`. */ export interface EasyMap extends Orihon { addMarker(options: EasyMarkerOptions): Marker; addTileLayer(options: EasyTileLayerOptions): RasterTileLayer; addPolyline(options: EasyPolylineOptions): Polyline; addPolygon(options: EasyPolygonOptions): Polygon; addGeoJSON(options?: EasyGeoJSONOptions): GeoJSONLayer; setBasemap(basemap: EasyBasemap | false | null): this; getBasemap(): Layer | null; } /** * Beginner-oriented Standard API adapter. It returns the regular Orihon map; * only the instance-local convenience methods are added. */ export declare function createMap(container: string | HTMLElement, options?: EasyMapOptions): EasyMap; export {}; //# sourceMappingURL=easy-entry.d.ts.map