import * as helpers from "../helpers"; type LayerInitRequiredOption = Required<{ container: HTMLElement; }>; type LayerRegisterRequiredOption = Required<{ constructor: typeof Layer; }>; type LayerPartialOption = Partial<{ name: string; offset: { x: number; y: number; }; preInitialize: (layer: Layer) => void; postInitialize: (layer: Layer) => void; preUpdate: (layer: Layer) => void; postUpdate: (layer: Layer) => void; [param: string]: any; }>; export type LayerInitOption = LayerInitRequiredOption & LayerPartialOption; export type LayerRegisterOption = LayerRegisterRequiredOption & LayerPartialOption; export default class Layer { static register: (baseName: string, options: LayerRegisterOption) => void; static initialize: (baseName: string, options: LayerInitOption) => Layer; static findLayer: (baseNameOrRealName: string) => Layer[]; _baseName: string; _name: string; _userOptions: LayerInitOption; _graphic: T; _container: HTMLElement; _order: number; _nextTick: number; _preInitialize?: (layer: Layer) => void; _postInitialize?: (layer: Layer) => void; _preUpdate?: (layer: Layer) => void; _postUpdate?: (layer: Layer) => void; [helpers.LibraSymbol]: boolean; constructor(baseName: string, options: LayerInitOption); getGraphic(): T; getContainerGraphic(): HTMLElement; getVisualElements(): T[]; cloneVisualElements(element: Element, deep?: boolean): Element; getDatum(elem: Element): any; join(rightTable: any[], joinKey: string): any[]; preUpdate(): void; postUpdate(): void; picking(options: helpers.ArbitraryQuery): T[]; getLayerFromQueue(siblingLayerName: string): Layer; setLayersOrder(layerNameOrderKVPairs: { [key: string]: number; }): void; isInstanceOf(name: string): boolean; } export declare function register(baseName: string, options: LayerRegisterOption): void; export declare function unregister(baseName: string): boolean; export declare function initialize(baseName: string, options?: LayerInitOption): Layer; export declare function findLayer(baseNameOrRealName: string): Layer[]; export {};