/// <reference types="@geoscene/core/interfaces.d.ts" />
import { default as Accessor } from '@geoscene/core/core/Accessor.js';
import { default as Graphic } from '@geoscene/core/Graphic.js';
import { default as MapView } from '@geoscene/core/views/MapView.js';
import { default as SceneView } from '@geoscene/core/views/SceneView.js';
declare class GeolocationPositioning extends Accessor {
    protected initialize(): void;
    destroy(): void;
    protected _geolocationUsable: boolean;
    geolocationOptions?: PositionOptions;
    /**
     * Indicates whether to navigate the view to the position and scale of the geolocated result.
     *
     * @default true
     */
    goToLocationEnabled: boolean;
    goToOverride?: __geoscene.GoToOverride;
    /**
     * The graphic used to show the user's location on the map.
     */
    graphic: Graphic;
    /**
     * Indicates the scale to set on the view when navigating to the position of the geolocated
     * result, after a location is returned from the [track](#event-track) event.
     *
     * @default null
     */
    scale?: number;
    /**
     * A convenience property that overrides the view's [rotationEnabled](https://next.gha.afd.geoscene.cn/javascript/latest/api-reference/geoscene-views-MapView.html#constraints) constraint.
     *
     * @default true
     */
    rotationEnabled: boolean;
    /**
     * The view associated with the Module.
     */
    view?: MapView | SceneView;
    /**
     * Clears the locate graphic from the view.
     */
    protected _clearGraphic(): void;
    /**
     * Adds the graphic to the view.
     */
    protected _addGraphic(): void;
    private _handleViewTypeChange;
    private _getScaleWithinConstraints;
    private _getScale;
    private _getHeading;
    private _addHeading;
    private _animatePoint;
    protected updatePosition(position: GeolocationPosition, controller: AbortController): Promise<GeolocationPosition>;
}
export default GeolocationPositioning;