import { Maneuver } from './maneuver-model';
import { Coordinates } from '../coordinates/coordinates-model';
import { Waypoint } from './waypoint-model';
import { RawDirectionData } from '../geo/direction-data-model';
import { Content } from '../content/content-model';
/**
 * Define a part of an itinerary from one main place to another main place
 * The structure authorizes for a unique way through the places
 * or till n to n
 * A cohesion between every leg inside an array should be considered
 * in order to avoid holes
 */
export declare class Leg {
    fromId: string;
    toId: string;
    fromPlaceCoordinates: Coordinates;
    toPlaceCoordinates: Coordinates;
    time: number;
    length: number;
    bounds: any;
    directionsData: RawDirectionData;
    itineraryWaypoints: number[][];
    maneuvers: Maneuver[];
    waypoints: Waypoint[];
    readonly contentsRef: string[];
    readonly contents: Content[];
    contentsLoad: boolean;
    constructor();
    /**
     * Create a leg
     * @param fromId
     * @param toId
     * @return the created leg
     */
    static make(fromId: string, toId: string): Leg;
}
