/**
 * Transforms a `GeolocationPosition` (from standard web location APIs)
 * into the standard format expected by the Ferrostar APIs.
 *
 * @param position a position from the Geolocation API
 */
export declare function ferrostarUserLocation(position: GeolocationPosition): object;
export declare class SimulatedLocationProvider {
    private simulationState;
    private isRunning;
    lastLocation: null;
    lastHeading: null;
    warpFactor: number;
    updateCallback: () => void;
    setSimulatedRoute(route: any): void;
    start(): Promise<void>;
    stop(): void;
}
export declare class BrowserLocationProvider {
    private geolocationWatchId;
    lastLocation: any;
    lastHeading: null;
    updateCallback: () => void;
    /**
     * Starts location updates in the background.
     *
     * Whenever the user's location is updated,
     * the `lastLocation` property will reflect the result
     * Additionally, the `updateCallback` will be invoked,
     * which provides a way for a single subscriber to get updates.
     */
    start(): void;
    /**
     * Gets the current location of the user asynchronously.
     *
     * @param staleThresholdMilliseconds If a previously retrieved location is available,
     * it will be returned immediately as long as it is no older than the specified
     * number of milliseconds.
     */
    getCurrentLocation(staleThresholdMilliseconds: number): Promise<object>;
    /**
     * Stops location updates.
     */
    stop(): void;
}
//# sourceMappingURL=location.d.ts.map