import { ILayer, IMapService, IParseDataItem, IRendererService, IScaleValue, ISubLayerInitOptions, ScaleAttributeType } from '@antv/l7-core';
import Source from '@antv/l7-source';
import { Tile, TilesetManager } from '@antv/l7-utils';
import { ILayerTileConfig, ITileFactory, ITileFactoryOptions, ITileStyles, Timeout } from '../interface';
export default class TileFactory implements ITileFactory {
    type: string;
    parentLayer: ILayer;
    mapService: IMapService;
    rendererService: IRendererService;
    outSideEventTimer: Timeout | null;
    protected zoomOffset: number;
    protected tilesetManager: TilesetManager;
    protected layers: ILayer[];
    private eventCache;
    constructor(option: ITileFactoryOptions);
    createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
        layers: ILayer[];
        layerIDList: string[];
    };
    getFeatureData(tile: Tile, initOptions: ISubLayerInitOptions): {
        features: never[];
        featureId: null;
        vectorTileLayer: null;
        source: null;
    } | {
        features: any[];
        featureId: string | undefined;
        vectorTileLayer: any;
        source: Source;
    };
    createLayer(tileLayerOption: ILayerTileConfig): any;
    updateStyle(styles: ITileStyles): string;
    getDefautStyleAttributeField(layer: ILayer, type: string): string | string[] | 2;
    setStyleAttributeField(layer: ILayer, type: ScaleAttributeType, value: IScaleValue | undefined | string | string[]): ILayer | undefined;
    protected parseScaleValue(value: IScaleValue | string, type: string): (string | number | unknown[])[] | (string | number | string[] | number[] | ((...args: any[]) => [] | undefined))[];
    protected getTile(lng: number, lat: number): Tile;
    protected emitEvent(layers: ILayer[], isVector?: boolean): void;
    protected getCombineFeature(features: IParseDataItem[]): any;
    protected getFeatureAndEmitEvent(layer: ILayer, eventName: string, e: any, isVector?: boolean, tile?: any): void;
    private setScale;
    private getAllFeatures;
    private getLayerInitOption;
    private handleOutsideEvent;
}
