export interface ModuleResolutionOptions {
    baseUrl?: string;
    paths?: Record<string, string[]>;
    extensions?: string[];
    moduleDirectories?: string[];
    allowJs?: boolean;
    resolveJsonModule?: boolean;
}
export interface ResolvedModule {
    resolvedPath: string;
    isExternalLibrary: boolean;
    packageName?: string;
    extension: string;
}
export declare class ModuleResolver {
    private options;
    constructor(options?: ModuleResolutionOptions);
    /**
     * Resolve a module specifier to an absolute file path
     */
    resolve(specifier: string, fromFile: string): ResolvedModule;
    private resolveRelative;
    private resolveAbsolute;
    private resolveMappedPath;
    private resolveNodeModules;
    private resolveFile;
    private matchesPattern;
    private applyMapping;
    /**
     * Get all possible file extensions for module resolution
     */
    getExtensions(): string[];
    /**
     * Check if a file extension is supported
     */
    isSupported(extension: string): boolean;
    /**
     * Update resolver options
     */
    updateOptions(options: Partial<ModuleResolutionOptions>): void;
}
//# sourceMappingURL=module-resolver.d.ts.map