/**
 * Anonymous Object Type Lowering Pass
 *
 * Transforms anonymous object types (IrObjectType) in type positions into
 * generated named types (IrReferenceType) with synthetic interface declarations.
 *
 * This pass runs BEFORE soundness validation to ensure the emitter never
 * receives IrObjectType nodes.
 *
 * Example transformation:
 * ```
 * const config: { value: number } = { value: 42 };
 * ```
 * becomes:
 * ```
 * interface __Anon_abc123 { value: number }
 * const config: __Anon_abc123 = { value: 42 };
 * ```
 *
 * Implementation is split across sub-modules:
 * - anon-type-shape-analysis.ts: serialization, hashing, reachability
 * - anon-type-declaration-synthesis.ts: named type generation, carrier reuse
 * - anon-type-lower-types.ts: type/param/pattern lowering + LoweringContext
 * - anon-type-ir-rewriting.ts: expression/statement/member lowering
 */
import type { IrModule } from "../types.js";
/**
 * Result of anonymous type lowering pass
 */
export type AnonymousTypeLoweringResult = {
    readonly ok: boolean;
    readonly modules: readonly IrModule[];
};
/**
 * Run anonymous type lowering pass on all modules
 */
export declare const runAnonymousTypeLoweringPass: (modules: readonly IrModule[]) => AnonymousTypeLoweringResult;
//# sourceMappingURL=anonymous-type-lowering-pass.d.ts.map