/**
 * Shared helpers for yield-lowering-pass tests.
 */
import { describe, it } from "mocha";
import { expect } from "chai";
import { runYieldLoweringPass } from "../yield-lowering-pass.js";
import { IrModule, IrStatement, IrExpression, IrExpressionStatement, IrBlockStatement, IrYieldStatement } from "../../types.js";
export { describe, it, expect, runYieldLoweringPass };
export type { IrModule, IrStatement, IrExpression, IrExpressionStatement, IrBlockStatement, IrYieldStatement, };
/**
 * Assert value is not null/undefined and return it typed as non-null.
 */
export declare const assertDefined: <T>(value: T | null | undefined, msg?: string) => T;
/**
 * Helper to create a minimal generator function module
 */
export declare const createGeneratorModule: (body: IrStatement[], options?: {
    isGenerator?: boolean;
    returnType?: IrModule["body"][0] extends {
        returnType?: infer R;
    } ? R : never;
}) => IrModule;
/**
 * Helper to create a yield expression
 */
export declare const createYield: (value?: IrExpression, delegate?: boolean) => IrExpression;
/**
 * Helper to extract the function body from a module
 */
export declare const getGeneratorBody: (module: IrModule) => readonly IrStatement[];
export declare const getTempNameFromSingleDeclarator: (stmt: IrStatement) => string;
//# sourceMappingURL=helpers.d.ts.map