import { ReactiveElement, PropertyValues } from 'lit';
import { SerializableNavState, NavigationSession, NavigationSessionRecording, RouteAdapter, TripState, Route } from '@stadiamaps/ferrostar';
import { StateProvider } from './types';
/**
 * A core navigation component that handles navigation logic without UI.
 */
export declare class FerrostarCore extends ReactiveElement implements StateProvider {
    valhallaEndpointUrl: string;
    profile: string;
    httpClient?: Function;
    locationProvider: any;
    options: object;
    protected _navState: SerializableNavState | null;
    onNavigationStart?: () => void;
    onNavigationStop?: () => void;
    onTripStateChange?: (newState: TripState | null) => void;
    /**
     * Enables voice guidance via the web speech synthesis API.
     * Defaults to false.
     */
    useVoiceGuidance: boolean;
    shouldRecord: boolean;
    routeAdapter: RouteAdapter | null;
    navigationSession: NavigationSession | NavigationSessionRecording | null;
    lastSpokenUtteranceId: string | null;
    constructor();
    updated(changedProperties: PropertyValues<this>): void;
    getRoutes(initialLocation: any, waypoints: any): Promise<Route[]>;
    startNavigation(route: Route, config: any): void;
    private saveRecording;
    stopNavigation(): Promise<void>;
    provideState(tripState: TripState): void;
    private navStateUpdate;
    private onLocationUpdated;
}
//# sourceMappingURL=ferrostar-core.d.ts.map