/**
 * Virtual Marking Pass
 *
 * Recomputes local TypeScript class override/shadow relationships after all IR
 * collection passes have attached final emitted member names. This pass is the
 * single source of truth for local class hierarchies:
 * - no legacy overload helper bridges
 * - no widened-signature compatibility bridges
 * - no source-name-only matching
 *
 * A derived member overrides a local base member only when the emitted CLR name
 * and full signature match exactly after base-class type-argument substitution.
 * Otherwise, a same-name local member is marked as shadowing.
 */
import { IrModule } from "../types.js";
export type VirtualMarkingResult = {
    readonly ok: true;
    readonly modules: readonly IrModule[];
};
/**
 * Run virtual marking pass on all modules.
 */
export declare const runVirtualMarkingPass: (modules: readonly IrModule[]) => VirtualMarkingResult;
//# sourceMappingURL=virtual-marking-pass.d.ts.map