import { MapLib, MapRef } from 'react-map-gl';
import type { BaseMapLibraryType } from '@kepler.gl/constants';
import type { DatabaseAdapter } from './application-config-types';
export type MapLibInstance = MapLib<any>;
export type GetMapRef = ReturnType<MapRef['getMap']>;
export type BaseMapLibraryConfig = {
    getMapLib: () => Promise<MapLibInstance>;
    mapLibAttributionCssClass: string;
    mapLibCssClass: string;
    mapLibName: string;
    mapLibUrl: string;
};
/**
 * A mechanism to override default Kepler values/settings so that we
 * without having to make application-specific changes to the kepler repo.
 */
export type KeplerApplicationConfig = {
    /** Default name of export HTML file, can be overridden by user */
    defaultHtmlName?: string;
    defaultImageName?: string;
    defaultJsonName?: string;
    defaultDataName?: string;
    defaultExportJsonSettings?: {
        hasData?: boolean;
    };
    baseMapLibraryConfig?: Record<BaseMapLibraryType, BaseMapLibraryConfig>;
    plugins?: any[];
    table?: any;
    database?: DatabaseAdapter | null;
    useArrowProgressiveLoading?: boolean;
    showReleaseBanner?: boolean;
    useOnFilteredItemsChange?: boolean;
    cdnUrl?: string;
    enableRasterTileLayer?: boolean;
    /** Whether to use Titiler v0.21 API endpoints instead of v0.11 */
    rasterServerUseLatestTitiler?: boolean;
    /** An array of URLs to shards of the raster tile server to be used by the raster tile layer. */
    rasterServerUrls?: string[];
    /** If true then try to fetch quantized elevation meshes from raster servers */
    rasterServerSupportsElevation?: boolean;
    /** How many times to retry a request if case of rasterServerServerErrorsToRetry errors */
    rasterServerMaxRetries?: number;
    /** How long between retries */
    rasterServerRetryDelay?: number;
    /** An array of HTTP status codes that should be retried when encountered. */
    rasterServerServerErrorsToRetry?: number[];
    /** Maximum number of simultaneous requests per raster server. 0 - no limit */
    rasterServerMaxPerServerRequests?: number;
    /** Whether to show the server input field in the raster tile layer setup form */
    rasterServerShowServerInput?: boolean;
    enableWMSLayer?: boolean;
    /** Whether to apply fix for uglify error in dom-to-image (should be true for webpack builds, false for Vite) */
    escapeXhtmlForWebpack?: boolean;
};
export declare const getApplicationConfig: () => Required<KeplerApplicationConfig>;
export declare function initApplicationConfig(appConfig?: KeplerApplicationConfig): void;
