import type { ImportRewriteStrategy, ImportSpecifierInfo, RewriteContext, RewriteResult } from "../types.js"; /** * Whether a builtin resolves to a polyfill that implements it for real, rather * than to the noop. * * A real polyfill exports the names it is asked for, so a named import of it * links successfully and must be left exactly as written. Rewriting it to a * namespace import plus a destructure would move the binding out of link * position and into the module body, where it is no longer hoisted — which * breaks any cyclic module graph that reads it at evaluation time. */ export declare function hasRealBrowserPolyfill(specifier: string): boolean; /** * Get all polyfill paths that need to be embedded for compiled binaries. * Used by tests and startup validation to ensure no polyfills are forgotten. */ export declare function getRequiredPolyfillPaths(): string[]; export declare class NodeBuiltinStrategy implements ImportRewriteStrategy { readonly name = "node-builtin"; readonly priority = 0.5; matches(specifier: string, _ctx: RewriteContext): boolean; rewrite(info: ImportSpecifierInfo, ctx: RewriteContext): RewriteResult; } export declare const nodeBuiltinStrategy: NodeBuiltinStrategy; //# sourceMappingURL=node-builtin-strategy.d.ts.map