import { GeolocationPosition } from '@capacitor/core';
import { Instruction } from './instruction-model';
import { ItineraryContent } from '../content/itinerary-content-model';
/**
 * Abstract class for representing a tour event
 */
export declare abstract class AbstractTourEvent {
}
/**
 * Basic event encapsulation for a lost position
 */
export declare class NoPositionEvent extends AbstractTourEvent {
    lastKnownPosition: GeolocationPosition;
    constructor(lastKnownPosition: GeolocationPosition);
}
/**
 * Basic event encapsulation for a weak position
 */
export declare class WeakPositionEvent extends AbstractTourEvent {
    currentPosition: GeolocationPosition;
    constructor(currentPosition: GeolocationPosition);
}
/**
 * Basic event encapsulation for itinerary updates
 */
export declare abstract class ItineraryEvent extends AbstractTourEvent {
    fromKey: string;
    toKey: string;
    legIndex: number;
}
export declare class ManeuverEvent extends ItineraryEvent {
    type: number;
    length: number;
    successPointPassed: boolean;
    instruction: Instruction;
    remainedDistance: number;
}
export declare class LegChangeEvent extends ItineraryEvent {
    oldFromKey: string;
    oldToKey: string;
    oldLegIndex: number;
}
export declare class OutOfItineraryEvent extends ItineraryEvent {
}
export declare class PlaceEvent extends ItineraryEvent {
    distance: number;
    message: string;
}
export declare class ItineraryContentEvent extends ItineraryEvent {
    content: ItineraryContent;
}
/**
 * Enumeration for listing all event types
 */
export declare enum ItineraryEventType {
    NoPositionEvent = 0,
    WeakPositionEvent = 1,
    ManeuverEvent = 2,
    LegChangeEvent = 3,
    OutOfItineraryEvent = 4,
    PlaceEvent = 5,
    ItineraryContentEvent = 6
}
