import { Layer } from 'ol/layer';
import { default as VectorSource } from 'ol/source/Vector';
import { BaseLayer } from './BaseLayer';
import { IStyleConfigMap } from '../styles';

/**
 * ImageVector图层处理器
 * 将矢量数据渲染为图像，提供更好的性能，特别适合大量矢量数据的场景
 * 在平移和缩放时性能更好，但符号和文本会随视图旋转，缩放时像素会被缩放
 */
export declare class ImageVectorLayerHandler extends BaseLayer {
    private styleConfig?;
    createLayer(): Layer<VectorSource>;
    /**
     * 创建矢量数据源
     */
    private createVectorSource;
    /**
     * 创建样式函数
     */
    private createStyleFunction;
    /**
     * 解析样式配置
     */
    private parseStyleConfig;
    /**
     * 添加要素到图层
     */
    addFeatures(features: any[]): void;
    /**
     * 清空图层要素
     */
    clearFeatures(): void;
    /**
     * 获取要素数量
     */
    getFeatureCount(): number;
    /**
     * 更新样式
     */
    updateStyle(styleConfig: any): void;
    /**
     * 设置样式配置
     */
    setStyleConfig(styleConfig: IStyleConfigMap): void;
    /**
     * 获取样式配置
     */
    getStyleConfig(): IStyleConfigMap | undefined;
    /**
     * 设置基于属性的样式
     */
    setPropertyBasedStyle(propertyName: string, styleMapping: {
        [propertyValue: string]: IStyleConfigMap;
    }, defaultStyleConfig?: IStyleConfigMap): void;
    /**
     * 设置图像比率
     */
    setImageRatio(ratio: number): void;
    /**
     * 设置渲染缓冲区
     */
    setRenderBuffer(buffer: number): void;
    /**
     * 设置背景色
     */
    setBackground(background: string): void;
    /**
     * 获取数据源
     */
    getSource(): VectorSource | null;
    /**
     * 刷新图层
     */
    refresh(): void;
    protected applyFilters(): void;
    private checkFeatureAgainstFilter;
    private checkAttributeFilter;
}
//# sourceMappingURL=ImageVectorLayerHandler.d.ts.map