/**
 * Variable declaration converter
 */
import * as ts from "typescript";
import { IrVariableDeclaration, IrStatement } from "../../../types.js";
import type { ProgramContext } from "../../../program-context.js";
/**
 * Convert variable statement
 *
 * Passes the LHS type annotation (if present) to the initializer conversion
 * for deterministic contextual typing. This ensures that:
 * - `const a: number[] = [1,2,3]` produces `double[]` not `int[]`
 * - `const x: int = 5` produces `int` not `double`
 *
 * For module-level variables (without explicit annotation), we infer the type
 * from TypeScript and pass it as expectedType to ensure consistent typing
 * between the variable declaration and its initializer.
 */
export declare const convertVariableStatement: (node: ts.VariableStatement, ctx: ProgramContext) => IrVariableDeclaration | IrStatement | readonly IrStatement[];
//# sourceMappingURL=variables.d.ts.map