/*!
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { Vector2 } from '.';
/**
 * Represents a 2D path made up of multiple 2D points
 */
export declare class Path2 {
    private _points;
    private _length;
    /**
     * If the path start and end point are the same
     */
    closed: boolean;
    /**
     * Creates a Path2 object from the starting 2D coordinates x and y.
     * @param x the starting points x value
     * @param y the starting points y value
     */
    constructor(x: number, y: number);
    /**
     * Adds a new segment until the given coordinates (x, y) to the current Path2.
     * @param x the added points x value
     * @param y the added points y value
     * @returns the updated Path2.
     */
    addLineTo(x: number, y: number): Path2;
    /**
     * Adds _numberOfSegments_ segments according to the arc definition (middle point coordinates,
     * end point coordinates, the arc start point being the current Path2 last point) to the current Path2.
     * @param midX middle point x value
     * @param midY middle point y value
     * @param endX end point x value
     * @param endY end point y value
     * @param numberOfSegments (default: 36)
     * @returns the updated Path2.
     */
    addArcTo(midX: number, midY: number, endX: number, endY: number, numberOfSegments?: number): Path2;
    /**
     * Closes the Path2.
     * @returns the Path2.
     */
    close(): Path2;
    /**
     * Gets the sum of the distance between each sequential point in the path
     * @returns the Path2 total length (float).
     */
    length(): number;
    /**
     * Gets the points which construct the path
     * @returns the Path2 internal array of points.
     */
    getPoints(): Vector2[];
    /**
     * Retreives the point at the distance aways from the starting point
     * @param normalizedLengthPosition the length along the path to retreive the point from
     * @returns a new Vector2 located at a percentage of the Path2 total length on this path.
     */
    getPointAtLengthPosition(normalizedLengthPosition: number): Vector2;
    /**
     * Creates a new path starting from an x and y position
     * @param x starting x value
     * @param y starting y value
     * @returns a new Path2 starting at the coordinates (x, y).
     */
    static StartingAt(x: number, y: number): Path2;
}
//# sourceMappingURL=path2.d.ts.map