import { Map as OlMap, Feature } from 'ol';
import { SearchResult, MapSearchConfig } from '../types';

/**
 * 搜索标记管理器
 */
export declare class SearchMarkerManager {
    private map;
    private config;
    private markerLayer;
    private markerSource;
    private currentMarkers;
    private selectedMarker;
    constructor(map: OlMap, config: MapSearchConfig);
    /**
     * 添加搜索结果标记
     */
    addSearchMarkers(results: SearchResult[]): void;
    /**
     * 添加单个搜索结果标记（累积添加，不清除现有标记）
     */
    addMarker(result: SearchResult): void;
    /**
     * 定位到搜索结果
     */
    flyToResult(result: SearchResult, zoomLevel?: number): void;
    /**
     * 创建单个标记
     */
    private createMarker;
    /**
     * 创建标记样式
     */
    private createMarkerStyle;
    /**
     * 创建自定义图标样式
     */
    private createIconStyle;
    /**
     * 创建SVG图标
     */
    private createSVGIcon;
    /**
     * 定位到搜索结果
     */
    locateToResult(result: SearchResult, zoomLevel?: number): void;
    /**
     * 高亮标记
     */
    private highlightMarker;
    /**
     * 适应所有标记的视图
     */
    fitToMarkers(padding?: number[]): void;
    /**
     * 添加区域标记（如果搜索结果包含边界信息）
     */
    addAreaMarker(result: SearchResult): void;
    /**
     * 清除所有标记
     */
    clearMarkers(): void;
    /**
     * 获取标记点击事件处理器
     */
    getMarkerClickHandler(): (event: any) => SearchResult | null;
    /**
     * 设置标记可见性
     */
    setVisible(visible: boolean): void;
    /**
     * 获取当前标记数量
     */
    getMarkerCount(): number;
    /**
     * 获取指定索引的标记
     */
    getMarkerByIndex(index: number): Feature | null;
    /**
     * 获取所有搜索结果
     */
    getAllResults(): SearchResult[];
    /**
     * 更新配置
     */
    updateConfig(config: MapSearchConfig): void;
    /**
     * 销毁管理器
     */
    destroy(): void;
}
/**
 * 创建搜索标记管理器
 */
export declare function createSearchMarkerManager(map: OlMap, config: MapSearchConfig): SearchMarkerManager;
//# sourceMappingURL=SearchMarkerManager.d.ts.map