import { IKernel } from 'jupyter-js-services';
import { Message } from 'phosphor-messaging';
import { Widget, ResizeMessage } from 'phosphor-widget';
import { ABCWidgetFactory, IDocumentModel, IDocumentContext } from '../docregistry';
/**
 * A widget for maps.
 */
export declare class MapWidget extends Widget {
    /**
     * Construct a new map widget.
     */
    constructor(context: IDocumentContext<IDocumentModel>);
    /**
     * Dispose of the resources used by the widget.
     */
    dispose(): void;
    /**
     * Handle `update-request` messages for the widget.
     */
    protected onUpdateRequest(msg: Message): void;
    /**
     * A message handler invoked on a 'resize' message.
     */
    onResize(msg: ResizeMessage): void;
    /**
     * Make the map fit the geojson layer bounds only once when all info is available.
     */
    private _fitLayerBounds();
    /**
     * A message handler after the widget is attached to the DOM.
     */
    onAfterAttach(): void;
    private _fitted;
    private _sized;
    private _width;
    private _height;
    private _geojson;
    private _geojsonLayer;
    private _map;
    private _context;
}
/**
 * A widget factory for maps.
 */
export declare class MapWidgetFactory extends ABCWidgetFactory<MapWidget, IDocumentModel> {
    /**
     * Create a new widget given a context.
     */
    createNew(context: IDocumentContext<IDocumentModel>, kernel?: IKernel.IModel): MapWidget;
}
