import { Feature } from 'geojson';
import { LayerProps, MapEvent, SourceProps } from 'react-map-gl';
import { GeographyType } from '../../types';
import { Expression } from 'mapbox-gl';
import { AssetMapProperties } from '../../types/communityAssets';
import { PopupContentProps } from './types';
export declare function makeContentProps(event: MapEvent): PopupContentProps;
export declare function extractFeatureFromEvent(event: MapEvent): Feature | undefined;
export declare function hasFeatures(event: MapEvent): boolean;
export declare function cartoInstantiationParams(id: string, sql: string): {
    layers: {
        id: string;
        options: {
            sql: string;
        };
    }[];
};
declare type cartoResponse = {
    metadata: {
        tilejson: {
            vector: {
                tiles: string[];
            };
        };
    };
};
export declare function extractCartoTileUrls(data: cartoResponse): string[];
export declare function fetchCartoVectorSource(id: string, sql: string, apiKey?: string, type?: string, minzoom?: number, maxzoom?: number): PromiseLike<SourceProps>;
export declare function getHoverPopupItems(features: any[], menuGeogType?: GeographyType): {
    assetsItems: AssetMapProperties[];
    profilesItems: Record<string, any>[];
    menuGeog: Record<'geogid' | 'name' | string, any>;
};
export declare const layerType: (l: LayerProps) => string | undefined;
export declare const layerFilter: (l: LayerProps) => boolean;
export declare function filterLayerByGeogID(geogID: string): Expression;
export declare function clearLayerFilter(): Expression;
/**
 *
 * @param layers
 * @param hoveredFilter
 * @param selectedFilter
 */
export declare function filteredLayers(layers: LayerProps[], hoveredFilter: Expression, selectedFilter: Expression): LayerProps[];
export declare function getLayerType(layer: LayerProps): string;
export declare const DEFAULT_GEOIDS: Record<GeographyType, string>;
export {};
