/** * Conditional (ternary) expression emitter with type predicate narrowing support */ import { IrExpression, IrType } from "@tsonic/frontend"; import { EmitterContext } from "../../types.js"; import type { CSharpExpressionAst } from "../../core/format/backend-ast/types.js"; /** * Emit a conditional (ternary) expression as CSharpExpressionAst * * Supports type predicate narrowing: * - `isUser(x) ? x.name : "anon"` → `x.Is1() ? (x.As1()).name : "anon"` * - `!isUser(x) ? "anon" : x.name` → `!x.Is1() ? "anon" : (x.As1()).name` */ export declare const emitConditional: (expr: Extract, context: EmitterContext, expectedType?: IrType) => [CSharpExpressionAst, EmitterContext]; //# sourceMappingURL=conditional-emitter.d.ts.map