import type { ClientReferenceIr, JsxNodeIr } from "./ir.js"; export declare function collectOxcClientBoundaryImportComponents(program: unknown, inferredBoundaryImports: ReadonlySet, fallbackBoundaryImports?: ReadonlySet, compatBoundaryImports?: ReadonlySet): Map; /** * Collects the JSX tag names that resolve to the router `Link` export. * * Both server emitters give `Link` paths no other component can take: they wrap * its children in `Link.trustedHtml`, which the router attaches to its own * export, and the stream emitter inlines it with the string calling convention, * which only its single-argument overload supports. Deciding that by spelling * puts a module-local component named `Link` on both paths, and it can satisfy * neither. The binding is what distinguishes them, so this reads the import * declarations: a renamed import is still the router `Link`, and a local * declaration never is, whatever either one is called. */ export declare function collectOxcRouterLinkComponentNames(program: unknown): Set; export declare function collectOxcCompatRuntimeImportComponents(program: unknown): Map; export declare function collectOxcCompatReactNodeComponentReferences(program: unknown): Map; export declare function markOxcAsyncComponentReferences(node: JsxNodeIr, asyncComponentNames: Set): void; export declare function markOxcClientReferences(node: JsxNodeIr, clientReferences: Map): void; export declare function markOxcCompatRuntimeReferences(node: JsxNodeIr, runtimeReferences: ReadonlyMap): void; export declare function markOxcCompatReactNodeReferences(node: JsxNodeIr, references: ReadonlyMap): void; //# sourceMappingURL=oxc-component-references.d.ts.map