export declare class Path {
    static separator: string;
    static isDrive(segment: string): boolean;
    /**
     * vscode-uri always normalizes drive letters to lower case:
     * https://github.com/Microsoft/vscode-uri/blob/b1d3221579f97f28a839b6f996d76fc45e9964d8/src/index.ts#L1025
     */
    static normalizeDrive(path: string): string;
    /**
     * Normalize path separator to use Path.separator
     * @param Path candidate to normalize
     * @returns Normalized string path
     */
    static normalizePathSeparator(path: string): string;
    static normalizePath(path: string): string;
    readonly isAbsolute: boolean;
    get isRelative(): boolean;
    readonly isRoot: boolean;
    readonly isDrive: boolean;
    readonly root: Path | undefined;
    readonly base: string;
    readonly name: string;
    readonly ext: string;
    private _dir;
    private readonly raw;
    /**
     * The raw should be normalized, meaning that only '/' is allowed as a path separator.
     */
    constructor(raw: string);
    /**
     * Returns the parent directory if it exists (`hasDir === true`) or `this` otherwise.
     */
    get dir(): Path;
    /**
     * Returns `true` if this has a parent directory, `false` otherwise.
     *
     * _This implementation returns `true` if and only if this is not the root dir and
     * there is a path separator in the raw path._
     */
    get hasDir(): boolean;
    protected doGetDir(): Path;
    includes(path: Path): boolean;
    toString(): string;
    static toRoot(path: Path): Path | undefined;
    static join(path: Path, ...paths: string[]): Path;
    /**
     *
     * @param paths portions of a path
     * @returns a new Path if an absolute path can be computed from the segments passed in + this.raw
     * If no absolute path can be computed, returns undefined.
     *
     * Processes the path segments passed in from right to left (reverse order) concatenating until an
     * absolute path is found.
     */
    static resolve(path: Path, ...paths: string[]): Path | undefined;
    static relative(base: Path, path: Path): Path | undefined;
    static normalize(path: Path): Path;
}
//# sourceMappingURL=path.d.ts.map