/**
 * Expression converter — Main dispatcher
 *
 * Converts TypeScript expression nodes to IR expressions by delegating
 * to specialized converter modules.
 */
import * as ts from "typescript";
import type { IrExpression, IrType } from "./types.js";
import type { ProgramContext } from "./program-context.js";
/**
 * Main expression conversion dispatcher
 * Converts TypeScript expression nodes to IR expressions
 *
 * @param node - The TypeScript expression node to convert
 * @param ctx - The ProgramContext for symbol resolution and type system access
 * @param expectedType - Expected type from context (e.g., LHS annotation, parameter type).
 *                       Pass `undefined` explicitly when no contextual type exists.
 *                       Used for deterministic typing of literals and arrays.
 */
export declare const convertExpression: (node: ts.Expression, ctx: ProgramContext, expectedType: IrType | undefined) => IrExpression;
//# sourceMappingURL=expression-converter-dispatch.d.ts.map