import { GeoJSON, Map, GeoJSONOptions } from 'leaflet';
import { AgromaxCamada } from './AgromaxCamada';
import { IAgromaxGeojson } from './interfaces';
import * as geojson from 'geojson';
export declare class AgromaxLeafletController<T extends string | null = string> {
    map: Map;
    private couter;
    grupoDeCamadas: AgromaxCamada<T>[];
    constructor(map: Map);
    private CreateCamada;
    refreshMap(): void;
    /**
     * @example
     * ```typescript
     * agromaxLeafletController.enableCamada() // enables all
     * agromaxLeafletController.enableCamada("argila") // enables camada argila
     * ```
     */
    enableCamada(camada?: T, args?: AgromaxCamada[]): void;
    /**
     * @example
     * ```typescript
     * agromaxLeafletController.disableCamada() // disable all
     * agromaxLeafletController.disableCamada("argila") // disable camada argila
     * ```
     */
    disableCamada(camada?: T, args?: AgromaxCamada[]): void;
    zoonInCamada(camada?: T, args?: AgromaxCamada[]): void;
    removeCamada(camada?: T, args?: AgromaxCamada[]): void;
    addFeature(feature: geojson.Feature, name: T, options: GeoJSONOptions<GeoJSON.Feature>, color: string): void;
    addGeoJson(featureCollection: GeoJSON, name: T): void;
    addCamada(featureCollection: geojson.FeatureCollection, name: T, element: string): void;
    private getColor;
    private shadeColor;
    addCamadas(camadas: IAgromaxGeojson<T>[]): AgromaxCamada<T>[];
    getCamada(name: T): AgromaxCamada<T>;
}
