declare enum PathType { File = 0, Portable = 1, Native = 2 } export type PortablePath = string & { __pathType: PathType.File | PathType.Portable; }; export type NativePath = string & { __pathType?: PathType.File | PathType.Native; }; export declare const PortablePath: { root: PortablePath; dot: PortablePath; parent: PortablePath; }; export type Filename = string & { __pathType: PathType.File; }; export type Path = PortablePath | NativePath; export declare const Filename: { home: Filename; nodeModules: Filename; manifest: Filename; lockfile: Filename; virtual: Filename; /** * @deprecated */ pnpJs: Filename; pnpCjs: Filename; pnpData: Filename; pnpEsmLoader: Filename; rc: Filename; env: Filename; }; export type TolerateLiterals = { [K in keyof T]: ValidateLiteral | PortablePath | Filename; }; export type ValidateLiteral = T extends `${infer X}` ? T : never; export interface PortablePathGenerics { join>(...segments: TolerateLiterals): PortablePath; resolve(...pathSegments: Array>): PortablePath; } export type FSPath = T | number; export declare const npath: PathUtils & ConvertUtils; export declare const ppath: PathUtils & PortablePathGenerics; export interface ParsedPath

{ root: P; dir: P; base: Filename; ext: string; name: Filename; } export interface FormatInputPathObject

{ root?: P; dir?: P; base?: Filename; ext?: string; name?: Filename; } type NoInfer = [T][T extends any ? 0 : never]; export interface PathUtils

{ cwd(): P; join(...paths: Array | Filename>): P; resolve(...pathSegments: Array | Filename>): P; normalize(p: P): P; isAbsolute(path: P): boolean; relative(from: P, to: P): P; dirname(p: P): P; basename(p: P, ext?: string): Filename; extname(p: P): string; readonly sep: P; readonly delimiter: string; parse(pathString: P): ParsedPath

; format(pathObject: FormatInputPathObject

): P; contains(from: P, to: P): P | null; } export interface ConvertUtils { fromPortablePath: (p: Path) => NativePath; toPortablePath: (p: Path) => PortablePath; } export declare function convertPath

(targetPathUtils: PathUtils

, sourcePath: Path): P; export {};