import { ComponentPublicInstance } from '../../../node_modules/vue'; import { Topology } from 'topojson-specification'; import { PopoverPlacement } from 'bootstrap-vue-next'; export interface SymbolMapProps { /** * Path in data objects to the category value for grouping markers. */ categoryObjectsPath?: string | string[]; /** * Enable click-to-zoom on map features. */ clickable?: boolean; /** * Hide the legend. */ hideLegend?: boolean; /** * Hide tooltips on marker hover. */ hideTooltip?: boolean; /** * Display legend items horizontally instead of vertically. */ horizontalLegend?: boolean; /** * Color for map features, or function returning color based on feature data. */ featureColor?: string | ((d: any) => string); /** * Fit map projection to marker bounds instead of feature bounds. */ fitToMarkers?: boolean; /** * Path in data objects to the label value for tooltips. */ labelObjectsPath?: string | string[]; /** * Padding around the map in pixels. */ mapPadding?: number; /** * Path in data objects to the unique identifier for each marker. */ markerObjectsPath?: string | string[]; /** * SVG path data for marker shape, or function returning path based on marker data. */ markerPath?: string | ((d: any) => string); /** * Color for markers. Falls back to category colors if not set. */ markerColor?: string; /** * Width of markers in pixels, or function returning width based on marker data. */ markerWidth?: number | ((d: any) => number); /** * Disable marker scaling when zooming the map. */ noMarkersScale?: boolean; /** * Custom CSS class to apply to tooltips. */ tooltipCustomClass?: string | null; /** * Placement of tooltips relative to markers. */ tooltipPlacement?: PopoverPlacement; /** * Fallback placement(s) for tooltips when preferred placement is not available. */ tooltipFallbackPlacement?: string[] | string; /** * Name of the TopoJSON objects collection to render as map features. */ topojsonObjects?: string; /** * Path in TopoJSON feature properties to the identifier. */ topojsonObjectsPath?: string | string[]; /** * URL to fetch TopoJSON data from. */ topojsonUrl?: string; /** * Duration of zoom transitions in milliseconds. */ transitionDuration?: number; /** * Enable zoom and pan interactions on the map. */ zoomable?: boolean; /** * Minimum zoom level. */ zoomMin?: number; /** * Maximum zoom level. */ zoomMax?: number; /** * Data to display, either as a URL string to fetch or an array of objects. */ data?: string | Record[] | null; /** * Type of data file when fetching from URL. */ dataUrlType?: 'json' | 'csv' | 'tsv'; /** * Aspect ratio (height/width) for the chart. */ chartHeightRatio?: number; /** * Enable social mode for optimal display when sharing on social media. */ socialMode?: boolean; /** * Aspect ratio to use in social mode. */ socialModeRatio?: number; } declare function draw(): void; declare function loadTopojson(): Promise> | null>; declare var __VLS_1: { legendData: { label: string; color: any; }[]; }, __VLS_10: { marker: { path: string | undefined; color: string; }; }, __VLS_13: { id?: string | number; color: string; path?: string; label: string; }, __VLS_23: any; type __VLS_Slots = {} & { legend?: (props: typeof __VLS_1) => any; } & { 'legend-marker'?: (props: typeof __VLS_10) => any; } & { 'legend-label'?: (props: typeof __VLS_13) => any; } & { tooltip?: (props: typeof __VLS_23) => any; }; declare const __VLS_base: import('../../../node_modules/vue').DefineComponent | null, ComponentPublicInstance | null>; markerCursor: import('../../../node_modules/vue').Ref | null, Record | null>; loadTopojson: typeof loadTopojson; draw: typeof draw; }, {}, {}, {}, import('../../../node_modules/vue').ComponentOptionsMixin, import('../../../node_modules/vue').ComponentOptionsMixin, { click: (d: any) => any; reset: () => any; loaded: (data: Record[] | null) => any; resized: () => any; zoomed: (d: any) => any; }, string, import('../../../node_modules/vue').PublicProps, Readonly & Readonly<{ onClick?: ((d: any) => any) | undefined; onReset?: (() => any) | undefined; onLoaded?: ((data: Record[] | null) => any) | undefined; onResized?: (() => any) | undefined; onZoomed?: ((d: any) => any) | undefined; }>, { transitionDuration: number; data: string | Record[] | null; hideTooltip: boolean; tooltipPlacement: PopoverPlacement; markerPath: string | ((d: any) => string); categoryObjectsPath: string | string[]; chartHeightRatio: number; socialMode: boolean; socialModeRatio: number; dataUrlType: "json" | "csv" | "tsv"; hideLegend: boolean; topojsonObjectsPath: string | string[]; clickable: boolean; topojsonObjects: string; topojsonUrl: string; zoomable: boolean; zoomMin: number; zoomMax: number; featureColor: string | ((d: any) => string); fitToMarkers: boolean; horizontalLegend: boolean; labelObjectsPath: string | string[]; mapPadding: number; markerObjectsPath: string | string[]; markerColor: string; markerWidth: number | ((d: any) => number); noMarkersScale: boolean; tooltipCustomClass: string | null; tooltipFallbackPlacement: string[] | string; }, {}, {}, {}, string, import('../../../node_modules/vue').ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };