import L from "leaflet";
export type ITypeOptions = {
    active?: boolean;
    type?: string;
    radius?: number;
};
export interface IMapOptions {
    center?: L.LatLngExpression;
    zoom?: number;
    minZoom?: number;
    maxZoom?: number;
    doubleClickZoom?: boolean | "center";
    dragging?: boolean;
    scrollWheelZoom?: boolean | "center";
    tap?: boolean;
    touchZoom?: boolean | "center";
    attributionControl?: boolean;
    zoomControl?: boolean;
    onClick?: Function;
    onContextMenu?: Function;
    onDblClick?: Function;
}
export interface ITilerLayerOptions {
    minZoom?: number;
    maxZoom?: number;
    attribution?: string;
    layers?: string;
    format?: string;
    transparent?: boolean;
    tms?: boolean;
}
export interface ILanguageOptions {
    [key: string]: LanguageOptions;
}
export interface LanguageOptions {
    loadingLayers: string;
    loadingMaps: string;
    loadingInformation: string;
    errorLoadingInformation: string;
}
export interface IMapaInteractivoOptions {
    onClick?: Function;
    onContextMenu?: Function;
    onDblClick?: Function;
    params?: IMapOptions;
    reverseOptions?: ITypeOptions;
    language?: string;
    showScaleControl?: boolean;
    showLoadingControl?: boolean;
    showZoomControl?: boolean;
    texts?: ILanguageOptions | undefined;
    supportedLanguages?: string[];
}
export interface IEventsOptions {
    onClick?: (event: L.LeafletEvent) => void;
    onContextMenu?: (event: L.LeafletEvent) => void;
    onDoubleClick?: (event: L.LeafletEvent) => void;
}
