import { Layer } from 'ol/layer';
import { default as VectorTileSource } from 'ol/source/VectorTile';
import { BaseLayer } from './BaseLayer';
import { FilterOperator } from '../../types';
import { IStyleConfigMap } from '../styles';

/**
 * VectorTile图层处理器
 * 用于处理矢量瓦片数据，支持MVT、TopoJSON、GeoJSON等格式
 * 提供高性能的客户端渲染，适合大规模矢量数据展示
 */
export declare class VectorTileLayerHandler extends BaseLayer {
    private styleConfig?;
    createLayer(): Layer<VectorTileSource>;
    /**
     * 创建矢量瓦片数据源
     */
    private createVectorTileSource;
    /**
     * 创建数据格式解析器
     */
    private createFormat;
    /**
     * 创建样式函数
     */
    private createStyleFunction;
    /**
     * 更新样式
     */
    updateStyle(styleConfig: any): void;
    /**
     * 设置样式配置
     */
    setStyleConfig(styleConfig: IStyleConfigMap): void;
    /**
     * 获取矢量瓦片源
     */
    getVectorTileSource(): VectorTileSource;
    /**
     * 设置URL模板
     */
    setUrl(url: string): void;
    /**
     * 刷新图层
     */
    refresh(): void;
    /**
     * 清除瓦片缓存
     */
    clearCache(): void;
    /**
     * 设置渲染模式
     */
    setRenderMode(mode: "hybrid" | "vector"): void;
    /**
     * 设置渲染缓冲区
     */
    setRenderBuffer(buffer: number): void;
    /**
     * 设置背景色
     */
    setBackground(background: string): void;
    /**
     * 设置预加载级别
     */
    setPreload(preload: number): void;
    /**
     * 获取瓦片网格
     */
    getTileGrid(): import('ol/tilegrid/TileGrid').default;
    /**
     * 获取瓦片URL函数
     */
    getTileUrlFunction(): import('ol/Tile').UrlFunction;
    /**
     * 获取数据格式
     */
    getFormat(): any;
    /**
     * 获取图层特定信息
     */
    getLayerInfo(): {
        type: string;
        url: any;
        format: any;
        renderMode: any;
        renderBuffer: any;
        maxZoom: number;
        minZoom: number;
        tileSize: any;
        projection: any;
        overlaps: boolean;
        preload: any;
        declutter: any;
    };
    /**
     * 应用过滤器（实现基类的抽象方法）
     * VectorTile图层通过样式函数实现过滤，隐藏不匹配的要素
     */
    protected applyFilters(): void;
    /**
     * 检查要素是否符合过滤器条件
     */
    private checkFeatureAgainstFilter;
    /**
     * 检查属性过滤器
     */
    private checkAttributeFilter;
    /**
     * 便捷方法：按属性值过滤要素
     * @param property 属性名
     * @param value 过滤值
     * @param operator 操作符
     */
    filterFeaturesByProperty(property: string, value: any, operator?: FilterOperator): void;
    /**
     * 便捷方法：清除所有过滤器
     */
    clearAllFeatureFilters(): void;
    /**
     * 获取要素属性信息（从当前可见的要素中获取）
     * 注意：VectorTile图层的要素是动态生成的，只能获取当前视口内的要素
     */
    getFeatureProperties(): Record<string, any>[];
}
//# sourceMappingURL=VectorTileLayerHandler.d.ts.map