import type { AwaitPoint } from "../../evaluator/async/await-analysis";
import { type Expr } from "../../expr";
import type { FunctionGenerationContext } from "../functions/context";
export interface StateSegment {
    stateNumber: number;
    expressions: Expr[];
    awaitPoint: AwaitPoint | null;
}
export declare function splitIntoStateSegments(body: Expr, awaitPoints: AwaitPoint[]): StateSegment[];
export declare function containsAwaitExpr(expr: Expr, awaitExpr: Expr): boolean;
export declare function generateStateSegmentCode(segment: StateSegment, indent: string, context: FunctionGenerationContext, captureLastExprResult?: boolean): void;
export declare function generateAwaitExpression(expr: Expr, awaitPoint: AwaitPoint, _stateNumber: number, indent: string, context: FunctionGenerationContext): void;
