/**
 * Function expression converters (function expressions and arrow functions)
 */
import * as ts from "typescript";
import { IrFunctionExpression, IrArrowFunctionExpression, IrType } from "../../types.js";
import type { ProgramContext } from "../../program-context.js";
/**
 * Convert function expression
 *
 * DETERMINISTIC TYPING: Build function type from declared parameters and return type.
 * Parameter types come from explicit annotations or expectedType (no TS inference).
 */
export declare const convertFunctionExpression: (node: ts.FunctionExpression, ctx: ProgramContext, expectedType?: IrType) => IrFunctionExpression;
/**
 * Convert arrow function expression
 *
 * DETERMINISTIC TYPING: Build function type from declared parameters and return type.
 * Parameter types come from explicit annotations or expectedType (no TS inference).
 */
export declare const convertArrowFunction: (node: ts.ArrowFunction, ctx: ProgramContext, expectedType?: IrType) => IrArrowFunctionExpression;
//# sourceMappingURL=functions.d.ts.map