import * as React from 'react';
export interface ILayer {
    /**
     * The React children of the layer.
     */
    children: any;
    /**
     * The unique id for the layer.
     */
    id: string;
}
export interface ILayerHostState extends React.Props<LayerHost> {
    layers: ILayer[];
}
export declare class LayerHost extends React.Component<React.Props<LayerHost>, ILayerHostState> {
    static childContextTypes: {
        isInLayer: React.Requireable<any>;
    };
    private _layers;
    constructor(props: {});
    getChildContext(): {
        isInLayer: boolean;
    };
    render(): JSX.Element;
    addLayer(layerToAdd: ILayer, onComplete?: () => void): void;
    updateLayer(layerToUpdate: ILayer): void;
    removeLayer(layerToRemove: ILayer): void;
}
