import { Bounds, LatLng, LatLngBounds, Layer, LayerOptions, LeafletEventHandlerFn, Map as LMap, Point } from 'leaflet'; export interface Map extends LMap { _latLngBoundsToNewLayerBounds(ll: LatLngBounds, z: number, c: LatLng): Bounds; } export interface IViewInfo { bounds: LatLngBounds; canvas: HTMLCanvasElement; center: LatLng; corner: { x: number; y: number; }; layer: CanvasLayer; size: Point; zoom: number; } export declare class CanvasLayer extends Layer { protected _canvas: HTMLCanvasElement; protected _map: Map; private _delegate; private _frame; constructor(options?: LayerOptions); readonly map: Map; getEvents(): { [index: string]: LeafletEventHandlerFn; }; onAdd(map: Map): this; onRemove(map: Map): this; needRedraw(): this; delegate(del: any): this; private _onLayerDidResize(resizeEvent); private _onLayerDidMove(); private LatLonToMercator(latlon); private drawLayer(); private _animateZoom(e); }