export type CoreExtension = '.js' | '.mjs' | '.cjs' | '.json'; export declare const CoreExtensions: CoreExtension[]; export declare function isCoreExtension(value: string): value is CoreExtension; type CoreExtensionMapping = { [key in CoreExtension]: string[]; }; /** * Unlike TypeScript's native lookup order, our lookup order prefers * implementation files to declaration files. * * Why include declaration files at all? Some of our users use manually * created declaration files as essentially shared header files without a * corresponding implementation file, and the declaration is the only thing * we'll be able to find. Otherwise we'd complain about a missing dependency. * * @see https://www.typescriptlang.org/docs/handbook/modules/reference.html#file-extension-substitution */ export declare const tsCoreExtensionLookupOrder: CoreExtensionMapping; export type TSExtension = '.ts' | '.mts' | '.cts' | '.tsx'; export declare const TSExtensions: TSExtension[]; export declare function isTSExtension(value: string): value is TSExtension; type TSExtensionMapping = { [key in TSExtension]: string[]; }; export declare const tsExtensionLookupOrder: TSExtensionMapping; export declare class FileExtPath { filePath: string; ext: string; private constructor(); static fromFilePath(filePath: string): FileExtPath; hasCoreExtension(): boolean; hasTypeScriptExtension(): boolean; replaceExt(ext: string): string; appendExt(ext: string): string; resolve(...paths: string[]): string; self(): string; } export {};