import { Feature } from 'ol';
import { default as OLMap } from 'ol/Map';
import { Geometry } from 'ol/geom';
import { LayerHighlightConfig } from '../types';

/**
 * 要素高亮样式配置
 */
export interface HighlightStyleConfig {
    fill?: {
        color?: string;
        opacity?: number;
    };
    stroke?: {
        color?: string;
        width?: number;
        lineDash?: number[];
    };
    circle?: {
        radius?: number;
        fill?: {
            color?: string;
            opacity?: number;
        };
        stroke?: {
            color?: string;
            width?: number;
        };
    };
    text?: {
        font?: string;
        fill?: {
            color?: string;
        };
        stroke?: {
            color?: string;
            width?: number;
        };
        offsetX?: number;
        offsetY?: number;
        scale?: number;
    };
}
/**
 * 要素高亮管理器
 */
export declare class FeatureHighlightManager {
    private map;
    private highlightLayer;
    private highlightedFeatures;
    private styleConfig;
    private featureIdCounter;
    constructor(map: OLMap, styleConfig?: Partial<HighlightStyleConfig>);
    /**
     * 确保 highlightedFeatures 是有效的 Map 实例
     */
    private ensureHighlightedFeaturesMap;
    /**
     * 创建高亮样式
     */
    private createHighlightStyle;
    /**
     * 根据图层配置创建自定义高亮样式
     */
    private createCustomHighlightStyle;
    /**
     * 高亮要素
     */
    highlightFeature(feature: Feature<Geometry>, layerId?: string, layerHighlightConfig?: LayerHighlightConfig): string;
    /**
     * 取消高亮要素
     */
    unhighlightFeature(featureId: string): boolean;
    /**
     * 清除所有高亮
     */
    clearAllHighlights(): void;
    /**
     * 获取当前高亮的要素数量
     */
    getHighlightedCount(): number;
    /**
     * 获取所有高亮要素的ID
     */
    getHighlightedFeatureIds(): string[];
    /**
     * 检查要素是否已高亮
     */
    isFeatureHighlighted(feature: Feature<Geometry>): string | null;
    /**
     * 更新高亮样式配置
     */
    updateStyleConfig(newConfig: Partial<HighlightStyleConfig>): void;
    /**
     * 获取当前样式配置
     */
    getStyleConfig(): HighlightStyleConfig;
    /**
     * 销毁管理器
     */
    destroy(): void;
}
//# sourceMappingURL=FeatureHighlightManager.d.ts.map