import { Extent } from 'ol/extent';
import { default as Projection } from 'ol/proj/Projection';
import { AnimationOptions, FitOptions, ViewOptions, default as View } from 'ol/View';
import { Coordinate } from 'ol/coordinate';
import { Size } from 'ol/size';
import { Pixel } from 'ol/pixel';
import { default as BaseEvent } from 'ol/events/Event';
import { SimpleGeometry } from 'ol/geom';
import { ObjectEvent } from 'ol/Object';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';

declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ViewOptions>, {
    enableRotation: boolean;
    smoothExtentConstraint: boolean;
    smoothResolutionConstraint: boolean;
}>, {
    view: View;
    adjustCenter: (deltaCoordinates: Coordinate) => void;
    adjustResolution: (ratio: number, optAnchor?: Coordinate) => void;
    adjustRotation: (delta: number, optAnchor?: Coordinate) => void;
    adjustZoom: (delta: number, optAnchor?: Coordinate) => void;
    animate: (...args: (AnimationOptions | ((arg0: boolean) => void))[]) => void;
    beginInteraction: () => void;
    calculateExtent: (optSize?: Size | undefined) => Extent;
    cancelAnimations: () => void;
    centerOn: (coordinate: Coordinate, size: Size, position: Pixel) => void;
    changed: () => void;
    dispatchEvent: (event: string | BaseEvent) => boolean | undefined;
    endInteraction: (optDuration?: number | undefined, optResolutionDirection?: number | undefined, optAnchor?: Coordinate | undefined) => void;
    fit: (geometryOrExtent: Extent | SimpleGeometry, options?: FitOptions | undefined) => void;
    get: (key: string) => unknown;
    getAnimating: () => boolean;
    getCenter: () => Coordinate | undefined;
    getInteracting: () => boolean;
    getKeys: () => string[];
    getMaxResolution: () => number;
    getMaxZoom: () => number;
    getMinResolution: () => number;
    getMinZoom: () => number;
    getProjection: () => Projection;
    getProperties: () => {
        [x: string]: any;
    };
    getResolution: () => number | undefined;
    getResolutionForExtent: (extent: Extent, size?: Size | undefined) => number;
    getResolutionForZoom: (zoom: number) => number;
    getResolutions: () => number[] | undefined;
    getRevision: () => number;
    getRotation: () => number;
    getZoom: () => number | undefined;
    getZoomForResolution: (resolution: number) => number | undefined;
    setCenter: (center: Coordinate | undefined) => void;
    setConstrainResolution: (enabled: boolean) => void;
    setMaxZoom: (zoom: number) => void;
    setMinZoom: (zoom: number) => void;
    setResolution: (resolution: number | undefined) => void;
    setRotation: (rotation: number) => void;
    setZoom: (zoom: number) => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    change: (event: BaseEvent) => void;
    error: (event: BaseEvent) => void;
    propertychange: (event: ObjectEvent) => void;
    "change:center": (event: ObjectEvent) => void;
    "change:resolution": (event: ObjectEvent) => void;
    "change:rotation": (event: ObjectEvent) => void;
}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ViewOptions>, {
    enableRotation: boolean;
    smoothExtentConstraint: boolean;
    smoothResolutionConstraint: boolean;
}>>> & {
    onChange?: ((event: BaseEvent) => any) | undefined;
    onError?: ((event: BaseEvent) => any) | undefined;
    onPropertychange?: ((event: ObjectEvent) => any) | undefined;
    "onChange:center"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:resolution"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:rotation"?: ((event: ObjectEvent) => any) | undefined;
}, {
    enableRotation: boolean;
    smoothExtentConstraint: boolean;
    smoothResolutionConstraint: boolean;
}, {}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
