import { type LngLatBoundsLike, type Map as MaplibreMap } from 'maplibre-gl';
import type CoreRect from '../../../core/Rect';
import { type GeoConfig as MaplibreGeoConfig } from '../MaplibreWrapper';
import { type TransformGeoConfig } from './solver';
export interface GeoConfig extends MaplibreGeoConfig {
    gpsConfig: TransformGeoConfig;
}
export interface CameraPaddingOptions {
    top: number;
    bottom: number;
    left: number;
    right: number;
}
export interface FitMapOptions {
    duration?: number;
    padding?: number;
}
export declare const MAP_BOUNDS_PADDING_FACTOR = 3;
export declare const MAP_BOUNDS_MIN_PADDING_DEGREES = 0.02;
export declare const INITIAL_FIT_ZOOM_ADJUSTMENT = 0.15;
export declare function deriveVenueMapBounds(config: TransformGeoConfig): LngLatBoundsLike | undefined;
export declare function getLocalRectGeoBounds(rect: CoreRect, config: TransformGeoConfig): LngLatBoundsLike;
export declare function getVisibleRectFitPadding(extraPadding?: number): CameraPaddingOptions;
/**
 * Derive the geographic configuration from the fpGeo data.
 * Returns null if geo data is not available.
 */
export declare function deriveGeoConfig(): GeoConfig | null;
export declare function fitMapToLocalRect(map: MaplibreMap | null, rect: CoreRect | null, geoConfig: GeoConfig | null, options?: FitMapOptions): void;
//# sourceMappingURL=geo-config.d.ts.map