import { BaseMapStyle, LayerGroup, MapState } from '@kepler.gl/types';
export declare function getDefaultLayerGroupVisibility({ layerGroups }: {
    layerGroups: LayerGroup[];
}): {};
/**
 * Edit preset map style to keep only visible layers
 *
 * @param mapStyle - preset map style
 * @param visibleLayerGroups - visible layers of top map
 * @returns top map style
 */
export declare const editTopMapStyle: (({ mapStyle, visibleLayerGroups }: {
    id?: string;
    mapStyle: BaseMapStyle;
    visibleLayerGroups: {
        [id: string]: LayerGroup | boolean;
    } | false;
}) => {
    layers: any;
}) & import("lodash").MemoizedFunction;
/**
 * Edit preset map style to filter out invisible layers
 *
 * @param {Object} mapStyle - preset map style
 * @param {Object} visibleLayerGroups - visible layers of bottom map
 * @returns {Object} bottom map style
 */
export declare const editBottomMapStyle: (({ id, mapStyle, visibleLayerGroups }: any) => any) & import("lodash").MemoizedFunction;
export declare function getStyleDownloadUrl(styleUrl: any, accessToken: any, mapboxApiUrl: any): any;
/**
 * Generate static map image from style Url to be used as icon
 * @param param
 * @param param.styleUrl
 * @param param.mapboxApiAccessToken
 * @param param.mapboxApiUrl
 * @param param.mapState
 * @param param.mapW
 * @param param.mapH
 */
export declare function getStyleImageIcon({ styleUrl, mapboxApiAccessToken, mapboxApiUrl, mapState, mapW, mapH }: {
    styleUrl: string;
    mapboxApiAccessToken: string;
    mapboxApiUrl?: string;
    mapState?: Partial<MapState>;
    mapW?: number;
    mapH?: number;
}): string;
export declare function scaleMapStyleByResolution(mapboxStyle: any, scale: any): any;
/**
 * When switch to a new style, try to keep current layer group visibility
 * by merging default and current
 * @param {Object} defaultLayerGroup
 * @param {Object} currentLayerGroup
 * @return {Object} mergedLayerGroups
 */
export declare function mergeLayerGroupVisibility(defaultLayerGroup: any, currentLayerGroup: any): any;
