/**
 * IR Optimizer
 *
 * Optimization passes on IR:
 * - Constant folding
 * - Dead code elimination
 * - Ownership simplification (for GC mode)
 */
import type { IRProgram } from '../ir/types.js';
export declare class Optimizer {
    private modified;
    optimize(program: IRProgram, _level: number): IRProgram;
    private optimizeProgram;
    private optimizeModule;
    private optimizeDeclaration;
    private isFunctionBody;
    private optimizeFunction;
    private optimizeBlock;
    private optimizeInstruction;
    private optimizeTerminator;
    private constantFold;
    private foldBinary;
    private foldUnary;
    private foldConditional;
    private removeDeadCode;
}
//# sourceMappingURL=optimizer.d.ts.map