/**
 * Attribute Collection — Module Rebuild & Entry Point
 *
 * Rebuilds module body after attribute collection: filters out marker
 * statements, attaches collected attributes to declarations, and
 * provides the entry point for the pass.
 */
import { Diagnostic } from "../../../types/diagnostic.js";
import { IrModule } from "../../types.js";
/**
 * Result of attribute collection pass
 */
export type AttributeCollectionResult = {
    readonly ok: boolean;
    readonly modules: readonly IrModule[];
    readonly diagnostics: readonly Diagnostic[];
};
/**
 * Run the attribute collection pass on a set of modules.
 *
 * This pass:
 * 1. Detects attribute marker calls
 * 2. Attaches IrAttribute nodes to the corresponding declarations
 * 3. Removes the marker statements from the module body
 * 4. Emits diagnostics for invalid patterns
 */
export declare const runAttributeCollectionPass: (modules: readonly IrModule[]) => AttributeCollectionResult;
//# sourceMappingURL=module-rebuild.d.ts.map