import { Nullable } from '../../../../lib';
import { ConfigSource, SourceLayerEventHandlers, TangramCustomLayer, TangramEventConfig, TangramLeafletLayer, TangramSourceConfig, TangramSourceNames } from '../lib';
type UseGetLeafletLayerProps = {
    eventHandlers?: SourceLayerEventHandlers;
    defaultLayers?: TangramCustomLayer[];
    onCreate?: (props: {
        layer: TangramLeafletLayer;
    }) => void;
    onDestroy?: (props: {
        layer: TangramLeafletLayer;
    }) => void;
    onAdd?: (props: {
        layer: TangramLeafletLayer;
    }) => void;
    onLoad?: (props: {
        layer: TangramLeafletLayer;
    }) => void;
    onRemove?: (props: {
        layer: TangramLeafletLayer;
    }) => void;
};
export declare class TangramLayer {
    private readonly props;
    constructor(props: UseGetLeafletLayerProps);
    private _initLayer;
    private _createLayer;
    private _addHandlers;
    destroy(): void;
    private _init;
    private _layer;
    get layer(): Nullable<TangramLeafletLayer>;
    private set layer(value);
    private _config;
    get config(): Nullable<TangramEventConfig>;
    private set config(value);
    private _isReady;
    get isReady(): boolean;
    private set isReady(value);
    get scene(): import("..").TangramScene | null;
    addStyle({ name, style }: {
        name: string;
        style: object;
    }): void;
    addSource(sourceName: TangramSourceNames): void;
    deleteSource(sourceName: TangramSourceNames): void;
    getSource(sourceName: TangramSourceConfig['name']): Nullable<ConfigSource>;
    updateSource(sourceName: TangramSourceConfig['name'], newUrl: TangramSourceConfig['url']): void;
    reloadSource(sourceName: TangramSourceNames): void;
    addLayer(layer: TangramCustomLayer): void;
    deleteLayers(): void;
    deleteLayer(layer: TangramCustomLayer): void;
    getLayers(): string[];
    getLayerVisibility(layer: TangramCustomLayer): boolean;
    toggleLayerVisibility({ layer, visible, }: {
        layer: TangramCustomLayer;
        visible: boolean;
    }): void;
}
export {};
//# sourceMappingURL=tangram-layer.d.ts.map