import { MapLayer, GeoJSONFeature } from '../types'; /** * Create a default map layer with standard styling * @param id - Layer identifier * @param name - Layer display name * @param data - GeoJSON feature collection * @param nameProperty - Property to use for feature names * @returns Configured map layer */ export declare const createDefaultLayer: (id: string, name: string, data: any, nameProperty: string) => MapLayer; /** * Filter features in a layer by search term * @param layer - The map layer * @param searchTerm - Search term to filter by * @returns Filtered features */ export declare const filterLayerFeatures: (layer: MapLayer, searchTerm: string) => GeoJSONFeature[]; /** * Get feature names from a layer * @param layer - The map layer * @returns Array of feature names with IDs */ export declare const getLayerFeatureNames: (layer: MapLayer) => Array<{ name: string; id: string; feature: GeoJSONFeature; }>; /** * Advanced search across multiple layers * @param layers - Array of layers to search * @param searchQuery - Search query string * @param searchOptions - Search configuration options * @returns Search results with layer context */ export declare const searchAcrossLayers: (layers: MapLayer[], searchQuery: string, searchOptions?: { includeLayerNames?: boolean; includeFeatureNames?: boolean; includeFeatureIds?: boolean; fuzzyMatch?: boolean; caseSensitive?: boolean; maxResults?: number; }) => { type: "layer" | "feature"; layer: MapLayer; feature?: GeoJSONFeature; name: string; id: string; relevance: number; matchType: "exact" | "contains" | "fuzzy"; }[]; /** * Get search suggestions based on partial input * @param layers - Array of layers to search * @param partialQuery - Partial search query * @param maxSuggestions - Maximum number of suggestions to return * @returns Array of search suggestions */ export declare const getSearchSuggestions: (layers: MapLayer[], partialQuery: string, maxSuggestions?: number) => string[]; /** * Validate layer data structure * @param layer - The map layer to validate * @returns Validation result */ export declare const validateLayer: (layer: MapLayer) => { isValid: boolean; errors: string[]; }; /** * Merge multiple layers into one * @param layers - Array of layers to merge * @param mergedId - ID for the merged layer * @param mergedName - Name for the merged layer * @returns Merged layer */ export declare const mergeLayers: (layers: MapLayer[], mergedId: string, mergedName: string) => MapLayer;