import { ValidLanguages } from './types';
import { MapOptions as MaplibreMapOptions, Point, LngLat, LngLatLike, LngLatBounds, LngLatBoundsLike, WebGLSupportedVersions, GestureOptions, ControlPosition, CameraUpdateTransformFunction, RequestTransformFunction } from 'maplibre-gl';
export type MapOptions = Omit<MaplibreMapOptions, 'container' | 'style'> & {
    style: object | string;
    language?: ValidLanguages;
};
export declare const defaults: {
    fitBoundsOptions?: {
        duration?: number | undefined;
        easing?: ((_: number) => number) | undefined;
        offset?: [number, number] | {
            x: number;
            y: number;
            clone: () => Point;
            add: (p: Point) => Point;
            _add: (p: Point) => Point;
            sub: (p: Point) => Point;
            _sub: (p: Point) => Point;
            multiByPoint: (p: Point) => Point;
            divByPoint: (p: Point) => Point;
            mult: (k: number) => Point;
            _mult: (k: number) => Point;
            div: (k: number) => Point;
            _div: (k: number) => Point;
            rotate: (k: number) => Point;
            _rotate: (k: number) => Point;
            rotateAround: (k: number, p: Point) => Point;
            _rotateAround: (k: number, p: Point) => Point;
            matMult: (m: number[]) => Point;
            _matMult: (m: number[]) => Point;
            unit: () => Point;
            _unit: () => Point;
            perp: () => Point;
            _perp: () => Point;
            round: () => Point;
            _round: () => Point;
            mag: () => number;
            equals: (other: Point) => boolean;
            dist: (p: Point) => number;
            distSqr: (p: Point) => number;
            angle: () => number;
            angleTo: (b: Point) => number;
            angleWith: (b: Point) => number;
            angleWithSep: (x: number, y: number) => number;
        } | undefined;
        animate?: boolean | undefined;
        essential?: boolean | undefined;
        freezeElevation?: boolean | undefined;
        center?: [number, number] | {
            lng: number;
            lat: number;
            wrap: () => LngLat;
            toArray: () => [number, number];
            toString: () => string;
            distanceTo: (lngLat: LngLat) => number;
        } | {
            lng: number;
            lat: number;
        } | {
            lon: number;
            lat: number;
        } | undefined;
        zoom?: number | undefined;
        bearing?: number | undefined;
        pitch?: number | undefined;
        roll?: number | undefined;
        elevation?: number | undefined;
        curve?: number | undefined;
        minZoom?: number | undefined;
        speed?: number | undefined;
        screenSpeed?: number | undefined;
        maxDuration?: number | undefined;
        padding?: number | {
            top: number;
            bottom?: number | undefined;
            right?: number | undefined;
            left?: number | undefined;
        } | {
            bottom: number;
            top?: number | undefined;
            right?: number | undefined;
            left?: number | undefined;
        } | {
            right: number;
            top?: number | undefined;
            bottom?: number | undefined;
            left?: number | undefined;
        } | {
            left: number;
            top?: number | undefined;
            bottom?: number | undefined;
            right?: number | undefined;
        } | undefined;
        linear?: boolean | undefined;
        maxZoom?: number | undefined;
    } | undefined;
    attributionControl?: false | {
        compact?: boolean | undefined;
        customAttribution?: (string | Array<string>) | undefined;
    } | undefined;
    bearing?: number | undefined;
    bearingSnap?: number | undefined;
    bounds?: [number, number, number, number] | {
        _ne: {
            lng: number;
            lat: number;
            wrap: () => LngLat;
            toArray: () => [number, number];
            toString: () => string;
            distanceTo: (lngLat: LngLat) => number;
        };
        _sw: {
            lng: number;
            lat: number;
            wrap: () => LngLat;
            toArray: () => [number, number];
            toString: () => string;
            distanceTo: (lngLat: LngLat) => number;
        };
        setNorthEast: (ne: LngLatLike) => LngLatBounds;
        setSouthWest: (sw: LngLatLike) => LngLatBounds;
        extend: (obj: LngLatLike | LngLatBoundsLike) => LngLatBounds;
        getCenter: () => LngLat;
        getSouthWest: () => LngLat;
        getNorthEast: () => LngLat;
        getNorthWest: () => LngLat;
        getSouthEast: () => LngLat;
        getWest: () => number;
        getSouth: () => number;
        getEast: () => number;
        getNorth: () => number;
        toArray: () => [number, number][];
        toString: () => string;
        isEmpty: () => boolean;
        contains: (lnglat: LngLatLike) => boolean;
        adjustAntiMeridian: () => LngLatBounds;
    } | [[number, number] | {
        lng: number;
        lat: number;
        wrap: () => LngLat;
        toArray: () => [number, number];
        toString: () => string;
        distanceTo: (lngLat: LngLat) => number;
    } | {
        lng: number;
        lat: number;
    } | {
        lon: number;
        lat: number;
    }, [number, number] | {
        lng: number;
        lat: number;
        wrap: () => LngLat;
        toArray: () => [number, number];
        toString: () => string;
        distanceTo: (lngLat: LngLat) => number;
    } | {
        lng: number;
        lat: number;
    } | {
        lon: number;
        lat: number;
    }] | undefined;
    boxZoom?: boolean | undefined;
    cancelPendingTileRequestsWhileZooming?: boolean | undefined;
    canvasContextAttributes?: {
        alpha?: boolean | undefined;
        antialias?: boolean | undefined;
        depth?: boolean | undefined;
        desynchronized?: boolean | undefined;
        failIfMajorPerformanceCaveat?: boolean | undefined;
        powerPreference?: WebGLPowerPreference | undefined;
        premultipliedAlpha?: boolean | undefined;
        preserveDrawingBuffer?: boolean | undefined;
        stencil?: boolean | undefined;
        contextType?: WebGLSupportedVersions;
    } | undefined;
    center?: [number, number] | {
        lng: number;
        lat: number;
        wrap: () => LngLat;
        toArray: () => [number, number];
        toString: () => string;
        distanceTo: (lngLat: LngLat) => number;
    } | {
        lng: number;
        lat: number;
    } | {
        lon: number;
        lat: number;
    } | undefined;
    centerClampedToGround?: boolean | undefined;
    clickTolerance?: number | undefined;
    collectResourceTiming?: boolean | undefined;
    cooperativeGestures?: GestureOptions | undefined;
    crossSourceCollisions?: boolean | undefined;
    doubleClickZoom?: boolean | undefined;
    dragPan?: boolean | {
        linearity?: number | undefined;
        easing?: ((t: number) => number) | undefined;
        deceleration?: number | undefined;
        maxSpeed?: number | undefined;
    } | undefined;
    dragRotate?: boolean | undefined;
    elevation?: number | undefined;
    fadeDuration?: number | undefined;
    hash?: boolean | string | undefined;
    interactive?: boolean | undefined;
    keyboard?: boolean | undefined;
    locale?: any;
    localIdeographFontFamily?: string | false | undefined;
    logoPosition?: ControlPosition | undefined;
    maplibreLogo?: boolean | undefined;
    maxBounds?: [number, number, number, number] | {
        _ne: {
            lng: number;
            lat: number;
            wrap: () => LngLat;
            toArray: () => [number, number];
            toString: () => string;
            distanceTo: (lngLat: LngLat) => number;
        };
        _sw: {
            lng: number;
            lat: number;
            wrap: () => LngLat;
            toArray: () => [number, number];
            toString: () => string;
            distanceTo: (lngLat: LngLat) => number;
        };
        setNorthEast: (ne: LngLatLike) => LngLatBounds;
        setSouthWest: (sw: LngLatLike) => LngLatBounds;
        extend: (obj: LngLatLike | LngLatBoundsLike) => LngLatBounds;
        getCenter: () => LngLat;
        getSouthWest: () => LngLat;
        getNorthEast: () => LngLat;
        getNorthWest: () => LngLat;
        getSouthEast: () => LngLat;
        getWest: () => number;
        getSouth: () => number;
        getEast: () => number;
        getNorth: () => number;
        toArray: () => [number, number][];
        toString: () => string;
        isEmpty: () => boolean;
        contains: (lnglat: LngLatLike) => boolean;
        adjustAntiMeridian: () => LngLatBounds;
    } | [[number, number] | {
        lng: number;
        lat: number;
        wrap: () => LngLat;
        toArray: () => [number, number];
        toString: () => string;
        distanceTo: (lngLat: LngLat) => number;
    } | {
        lng: number;
        lat: number;
    } | {
        lon: number;
        lat: number;
    }, [number, number] | {
        lng: number;
        lat: number;
        wrap: () => LngLat;
        toArray: () => [number, number];
        toString: () => string;
        distanceTo: (lngLat: LngLat) => number;
    } | {
        lng: number;
        lat: number;
    } | {
        lon: number;
        lat: number;
    }] | undefined;
    maxCanvasSize?: [number, number] | undefined;
    maxPitch?: number | null | undefined;
    maxTileCacheZoomLevels?: number | undefined;
    maxZoom?: number | null | undefined;
    minPitch?: number | null | undefined;
    minZoom?: number | null | undefined;
    pitch?: number | undefined;
    pitchWithRotate?: boolean | undefined;
    pixelRatio?: number | undefined;
    refreshExpiredTiles?: boolean | undefined;
    renderWorldCopies?: boolean | undefined;
    roll?: number | undefined;
    rollEnabled?: boolean | undefined;
    scrollZoom?: boolean | {
        around: "center";
    } | undefined;
    touchPitch?: boolean | {
        around: "center";
    } | undefined;
    touchZoomRotate?: boolean | {
        around: "center";
    } | undefined;
    trackResize?: boolean | undefined;
    transformCameraUpdate?: ( CameraUpdateTransformFunction | null) | undefined;
    zoom?: number | undefined;
    maxTileCacheSize?: number | null | undefined;
    transformRequest?: ( RequestTransformFunction | null) | undefined;
    validateStyle?: boolean | undefined;
    style: object | string;
    language?: ValidLanguages | undefined;
};
