import { Position } from "./position";
/**
 * The Path class is a container for Position classes
 */
export declare class Path {
    protected _positions: Position[];
    protected _distance: number;
    get length(): number;
    /**
     * @deprecated
     * This property is deprecated and will be removed in future versions.
     */
    get hash(): string;
    get distance(): number;
    /**
     * Initializing the Path class
     *
     * @param positions An optional initial list of positions
     */
    constructor(positions?: Position[]);
    /**
     * Appends a position to the end of the path
     *
     * @param position The position to be appended
     * @returns the Path itself for chaining
     */
    append(position: Position): Path;
    /**
     * Appends a path instance to the end of the path
     *
     * @param path The path to be appended
     * @returns the Path itself for chaining
     */
    appendPath(path: Path): Path;
    /**
     * Returns a Position on the path at index
     *
     * @param index Index of the item to be returned
     * @returns the Position at index
     */
    get(index: number): Position;
    /**
     * Returns the first Position on the path
     *
     * @returns the Position at the beginning
     */
    getFirst(): Position;
    /**
     * Returns the last Position on the path
     *
     * @returns the Position at the end
     */
    getLast(): Position;
    /**
     * Returns a string representation of the path using the DMSCode format
     *
     * @returns the string representation of the path
     */
    toFlightplan(): string;
}
