import { default as Geolocation, Options } from 'ol/Geolocation';
import { Coordinate } from 'ol/coordinate';
import { default as Polygon } from 'ol/geom/Polygon';
import { ObjectEvent, ObjectOnSignature } from 'ol/Object';
import { LinearRing, Point, SimpleGeometry, Geometry } from 'ol/geom';
import { GeometryLayout, Type } from 'ol/geom/Geometry';
import { TransformFunction, ProjectionLike, Projection } from 'ol/proj';
import { Extent } from 'ol/extent';
import { EventsKey, Listener } from 'ol/events';
import { default as __DTS_DEFAULT_0__ } from 'ol/events/Event';
import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {
            position: number[] | undefined;
            speed: number | undefined;
            heading: number | undefined;
            accuracy: number | undefined;
            altitude: number | undefined;
            altitudeAccuracy: number | undefined;
            accuracyGeometry: {
                appendLinearRing: (linearRing: LinearRing) => void;
                clone: () => Polygon;
                getArea: () => number;
                getCoordinates: (right?: boolean) => Array<Array< Coordinate>>;
                getEnds: () => Array<number>;
                getFlatInteriorPoint: () => Array<number>;
                getInteriorPoint: () => Point;
                getLinearRingCount: () => number;
                getLinearRing: (index: number) => LinearRing | null;
                getLinearRings: () => Array< LinearRing>;
                getOrientedFlatCoordinates: () => Array<number>;
                setCoordinates: (coordinates: Array<Array< Coordinate>>, layout?: GeometryLayout) => void;
                getFirstCoordinate: () => Coordinate;
                getFlatCoordinates: () => Array<number>;
                getLastCoordinate: () => Coordinate;
                getLayout: () => GeometryLayout;
                getSimplifiedGeometry: (squaredTolerance: number) => SimpleGeometry;
                getStride: () => number;
                setFlatCoordinates: (layout: GeometryLayout, flatCoordinates: Array<number>) => void;
                simplifyTransformedInternal: (...arg0: any[]) => Geometry;
                simplifyTransformed: (squaredTolerance: number, transform?: TransformFunction) => Geometry;
                closestPointXY: (x: number, y: number, closestPoint: Coordinate, minSquaredDistance: number) => number;
                containsXY: (x: number, y: number) => boolean;
                getClosestPoint: (point: Coordinate, closestPoint?: Coordinate) => Coordinate;
                intersectsCoordinate: (coordinate: Coordinate) => boolean;
                getExtent: (extent?: Extent) => Extent;
                rotate: (angle: number, anchor: Coordinate) => void;
                scale: (sx: number, sy?: number, anchor?: Coordinate) => void;
                simplify: (tolerance: number) => Geometry;
                getType: () => Type;
                applyTransform: (transformFn: TransformFunction) => void;
                intersectsExtent: (extent: Extent) => boolean;
                translate: (deltaX: number, deltaY: number) => void;
                transform: (source: ProjectionLike, destination: ProjectionLike) => Polygon;
                on: ObjectOnSignature<EventsKey>;
                once: ObjectOnSignature<EventsKey>;
                un: ObjectOnSignature<void>;
                get: (key: string) => any;
                getKeys: () => Array<string>;
                getProperties: () => {
                    [x: string]: any;
                };
                getPropertiesInternal: () => {
                    [x: string]: any;
                } | null;
                hasProperties: () => boolean;
                notify: (key: string, oldValue: any) => void;
                addChangeListener: (key: string, listener: Listener) => void;
                removeChangeListener: (key: string, listener: Listener) => void;
                set: (key: string, value: any, silent?: boolean) => void;
                setProperties: (values: {
                    [x: string]: any;
                }, silent?: boolean) => void;
                unset: (key: string, silent?: boolean) => void;
                changed: () => void;
                getRevision: () => number;
                addEventListener: (type: string, listener: Listener) => void;
                dispatchEvent: (event: __DTS_DEFAULT_0__ | string) => boolean | undefined;
                getListeners: (type: string) => Array< Listener> | undefined;
                hasListener: (type?: string) => boolean;
                removeEventListener: (type: string, listener: Listener) => void;
                dispose: () => void;
            } | null;
        }): any;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<Options, {
    geoLoc: ComputedRef<Geolocation>;
    position: Ref<number[] | undefined, Coordinate | number[] | undefined>;
    accuracy: Ref<number | undefined, number | undefined>;
    altitude: Ref<number | undefined, number | undefined>;
    altitudeAccuracy: Ref<number | undefined, number | undefined>;
    speed: Ref<number | undefined, number | undefined>;
    heading: Ref<number | undefined, number | undefined>;
    accuracyGeometry: Ref<{
        appendLinearRing: (linearRing: LinearRing) => void;
        clone: () => Polygon;
        getArea: () => number;
        getCoordinates: (right?: boolean) => Array<Array< Coordinate>>;
        getEnds: () => Array<number>;
        getFlatInteriorPoint: () => Array<number>;
        getInteriorPoint: () => Point;
        getLinearRingCount: () => number;
        getLinearRing: (index: number) => LinearRing | null;
        getLinearRings: () => Array< LinearRing>;
        getOrientedFlatCoordinates: () => Array<number>;
        setCoordinates: (coordinates: Array<Array< Coordinate>>, layout?: GeometryLayout) => void;
        getFirstCoordinate: () => Coordinate;
        getFlatCoordinates: () => Array<number>;
        getLastCoordinate: () => Coordinate;
        getLayout: () => GeometryLayout;
        getSimplifiedGeometry: (squaredTolerance: number) => SimpleGeometry;
        getStride: () => number;
        setFlatCoordinates: (layout: GeometryLayout, flatCoordinates: Array<number>) => void;
        simplifyTransformedInternal: (...arg0: any[]) => Geometry;
        simplifyTransformed: (squaredTolerance: number, transform?: TransformFunction) => Geometry;
        closestPointXY: (x: number, y: number, closestPoint: Coordinate, minSquaredDistance: number) => number;
        containsXY: (x: number, y: number) => boolean;
        getClosestPoint: (point: Coordinate, closestPoint?: Coordinate) => Coordinate;
        intersectsCoordinate: (coordinate: Coordinate) => boolean;
        getExtent: (extent?: Extent) => Extent;
        rotate: (angle: number, anchor: Coordinate) => void;
        scale: (sx: number, sy?: number, anchor?: Coordinate) => void;
        simplify: (tolerance: number) => Geometry;
        getType: () => Type;
        applyTransform: (transformFn: TransformFunction) => void;
        intersectsExtent: (extent: Extent) => boolean;
        translate: (deltaX: number, deltaY: number) => void;
        transform: (source: ProjectionLike, destination: ProjectionLike) => Polygon;
        on: ObjectOnSignature<EventsKey>;
        once: ObjectOnSignature<EventsKey>;
        un: ObjectOnSignature<void>;
        get: (key: string) => any;
        getKeys: () => Array<string>;
        getProperties: () => {
            [x: string]: any;
        };
        getPropertiesInternal: () => {
            [x: string]: any;
        } | null;
        hasProperties: () => boolean;
        notify: (key: string, oldValue: any) => void;
        addChangeListener: (key: string, listener: Listener) => void;
        removeChangeListener: (key: string, listener: Listener) => void;
        set: (key: string, value: any, silent?: boolean) => void;
        setProperties: (values: {
            [x: string]: any;
        }, silent?: boolean) => void;
        unset: (key: string, silent?: boolean) => void;
        changed: () => void;
        getRevision: () => number;
        addEventListener: (type: string, listener: Listener) => void;
        dispatchEvent: (event: __DTS_DEFAULT_0__ | string) => boolean | undefined;
        getListeners: (type: string) => Array< Listener> | undefined;
        hasListener: (type?: string) => boolean;
        removeEventListener: (type: string, listener: Listener) => void;
        dispose: () => void;
    } | null, Polygon | {
        appendLinearRing: (linearRing: LinearRing) => void;
        clone: () => Polygon;
        getArea: () => number;
        getCoordinates: (right?: boolean) => Array<Array< Coordinate>>;
        getEnds: () => Array<number>;
        getFlatInteriorPoint: () => Array<number>;
        getInteriorPoint: () => Point;
        getLinearRingCount: () => number;
        getLinearRing: (index: number) => LinearRing | null;
        getLinearRings: () => Array< LinearRing>;
        getOrientedFlatCoordinates: () => Array<number>;
        setCoordinates: (coordinates: Array<Array< Coordinate>>, layout?: GeometryLayout) => void;
        getFirstCoordinate: () => Coordinate;
        getFlatCoordinates: () => Array<number>;
        getLastCoordinate: () => Coordinate;
        getLayout: () => GeometryLayout;
        getSimplifiedGeometry: (squaredTolerance: number) => SimpleGeometry;
        getStride: () => number;
        setFlatCoordinates: (layout: GeometryLayout, flatCoordinates: Array<number>) => void;
        simplifyTransformedInternal: (...arg0: any[]) => Geometry;
        simplifyTransformed: (squaredTolerance: number, transform?: TransformFunction) => Geometry;
        closestPointXY: (x: number, y: number, closestPoint: Coordinate, minSquaredDistance: number) => number;
        containsXY: (x: number, y: number) => boolean;
        getClosestPoint: (point: Coordinate, closestPoint?: Coordinate) => Coordinate;
        intersectsCoordinate: (coordinate: Coordinate) => boolean;
        getExtent: (extent?: Extent) => Extent;
        rotate: (angle: number, anchor: Coordinate) => void;
        scale: (sx: number, sy?: number, anchor?: Coordinate) => void;
        simplify: (tolerance: number) => Geometry;
        getType: () => Type;
        applyTransform: (transformFn: TransformFunction) => void;
        intersectsExtent: (extent: Extent) => boolean;
        translate: (deltaX: number, deltaY: number) => void;
        transform: (source: ProjectionLike, destination: ProjectionLike) => Polygon;
        on: ObjectOnSignature<EventsKey>;
        once: ObjectOnSignature<EventsKey>;
        un: ObjectOnSignature<void>;
        get: (key: string) => any;
        getKeys: () => Array<string>;
        getProperties: () => {
            [x: string]: any;
        };
        getPropertiesInternal: () => {
            [x: string]: any;
        } | null;
        hasProperties: () => boolean;
        notify: (key: string, oldValue: any) => void;
        addChangeListener: (key: string, listener: Listener) => void;
        removeChangeListener: (key: string, listener: Listener) => void;
        set: (key: string, value: any, silent?: boolean) => void;
        setProperties: (values: {
            [x: string]: any;
        }, silent?: boolean) => void;
        unset: (key: string, silent?: boolean) => void;
        changed: () => void;
        getRevision: () => number;
        addEventListener: (type: string, listener: Listener) => void;
        dispatchEvent: (event: __DTS_DEFAULT_0__ | string) => boolean | undefined;
        getListeners: (type: string) => Array< Listener> | undefined;
        hasListener: (type?: string) => boolean;
        removeEventListener: (type: string, listener: Listener) => void;
        dispose: () => void;
    } | null>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
    change: (event: __DTS_DEFAULT_0__) => any;
    error: (event: __DTS_DEFAULT_0__) => any;
    propertychange: (event: ObjectEvent) => any;
    "change:accuracy": (event: ObjectEvent) => any;
    "change:accuracyGeometry": (event: ObjectEvent) => any;
    "change:altitude": (event: ObjectEvent) => any;
    "change:altitudeAccuracy": (event: ObjectEvent) => any;
    "change:heading": (event: ObjectEvent) => any;
    "change:position": (event: ObjectEvent) => any;
    "change:projection": (event: ObjectEvent) => any;
    "change:speed": (event: ObjectEvent) => any;
    "change:tracking": (event: ObjectEvent) => any;
    "change:trackingOptions": (event: ObjectEvent) => any;
}, string, PublicProps, Readonly<Options> & Readonly<{
    onChange?: ((event: __DTS_DEFAULT_0__) => any) | undefined;
    onError?: ((event: __DTS_DEFAULT_0__) => any) | undefined;
    onPropertychange?: ((event: ObjectEvent) => any) | undefined;
    "onChange:accuracy"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:accuracyGeometry"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:altitude"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:altitudeAccuracy"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:heading"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:position"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:projection"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:speed"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:tracking"?: ((event: ObjectEvent) => any) | undefined;
    "onChange:trackingOptions"?: ((event: ObjectEvent) => any) | undefined;
}>, {
    tracking: boolean;
    trackingOptions: PositionOptions;
    projection: string | Projection;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
