declare const OsPathSymbol: unique symbol; declare const PosixPathSymbol: unique symbol; declare const Win32PathSymbol: unique symbol; type _PlatformPath = { [K in keyof PlatformPath]: PlatformPath[K] extends (...args: any) => any ? ( Parameters extends [string] ? (path: TArg) => _ReturnType : Parameters extends [string, string] ? (from: TArg, to: TArg) => _ReturnType : Parameters extends string[] ? (...paths: TArg[]) => _ReturnType // basename : PlatformPath[K] extends (path: string, ext?: string) => string ? (path: TArg, ext?: string) => TReturn : PlatformPath[K] ) : PlatformPath[K] }; type _ReturnType any, T2> = ReturnType extends string ? T2 : ReturnType; declare module 'typesafe-path' { namespace path { type OsPath = string & { [OsPathSymbol]: true; }; type PosixPath = string & { [PosixPathSymbol]: true; }; type Win32Path = string & { [Win32PathSymbol]: true; }; } const path: Omit<_PlatformPath, 'win32' | 'posix'>; export = path; } declare module 'typesafe-path/win32' { namespace path { type OsPath = string & { [OsPathSymbol]: true; }; type PosixPath = string & { [PosixPathSymbol]: true; }; type Win32Path = string & { [Win32PathSymbol]: true; }; } const path: _PlatformPath; export = path; } declare module 'typesafe-path/posix' { namespace path { type OsPath = string & { [OsPathSymbol]: true; }; type PosixPath = string & { [PosixPathSymbol]: true; }; type Win32Path = string & { [Win32PathSymbol]: true; }; } const path: _PlatformPath; export = path; }