import { ILayer, Scene } from '@antv/l7'; import { EventEmitter } from 'eventemitter3'; import { AttributeType, IDistrictLayerOption } from './interface'; export default class BaseLayer extends EventEmitter { fillLayer: ILayer; lineLayer: ILayer; labelLayer: ILayer; bubbleLayer: ILayer; loaded: boolean; protected scene: Scene; protected options: IDistrictLayerOption; protected layers: ILayer[]; protected fillData: any; protected layerType: string; private popup; constructor(scene: Scene, option?: Partial); destroy(): void; show(): void; hide(): void; setOption(newOption: { [key: string]: any; }): void; getFillData(): any; getOptions(): IDistrictLayerOption; getLayer(type: 'fill' | 'line' | 'label' | 'bubble'): any; on(event: any, fn: any, context?: any): this; off(event: any, fn: any, context?: any): this; updateData(newData?: Array<{ [key: string]: any; }>, joinByField?: [string, string]): void; protected fetchData(data: { url: any; type: string; }): Promise; protected getDefaultOption(): IDistrictLayerOption; protected addFillLayer(fillCountry: any): void; updateLayerAttribute(layerName: "fill" | "bubble" | "label" | "line" | undefined, type: 'color' | 'size' | 'shape' | 'filter', attr: AttributeType | undefined): void; enablePopup(): void; disablePopup(): void; protected addFillLine(provinceLine: any): void; protected addLabelLayer(labelData: any, type?: string): void; protected addBubbleLayer(labelData: any, type?: string): ILayer; protected addLabel(labelData: any, type?: string): ILayer; protected addPopup(): void; private setLayerAttribute; }