import { ILayer, ILayerService, IMapService, IRendererService, ISubLayerInitOptions } from '@antv/l7-core';
import { SourceTile } from '@antv/l7-utils';
export declare class Base {
    sourceLayer: string;
    parent: ILayer;
    children: ILayer[];
    mapService: IMapService;
    rendererService: IRendererService;
    protected tileFactory: any;
    protected initOptions: ISubLayerInitOptions;
    private tileCache;
    private tileLayerCache;
    private initTileLayers;
    render(): void;
    hasTile(tile: SourceTile): boolean;
    addTile(tile: SourceTile): Promise<any>;
    removeTile(tile: SourceTile): void;
    addChild(layer: ILayer): void;
    addChildren(layers: ILayer[]): void;
    removeLayers(layers?: ILayer[], refresh?: boolean): void;
    removeChild(layer: ILayer): void;
    getLayers(tile: SourceTile): ILayer[];
    getChild(layerID: string): ILayer;
    clearChild(): void;
    hasChild(layer: ILayer): boolean;
    initTileFactory(): void;
    getSourceLayer(parentParserType: string, sourceLayer: string | undefined): string | undefined;
    updateTileVisible(tile: SourceTile, layerService: ILayerService): void;
    listenLoad(tile: SourceTile, callback: () => void): void;
    isTileLoaded(tile: SourceTile): boolean;
    isTileChildLoaded(tile: SourceTile): boolean;
    isTileParentLoaded(tile: SourceTile): boolean;
    isTileAllLoad(tile: SourceTile): boolean;
    destroy(): void;
}
