/** * Static arrow function field emission helpers */ import { IrBlockStatement, IrExpression, IrParameter, IrStatement, IrType } from "@tsonic/frontend"; import { EmitterContext } from "../../types.js"; import type { CSharpMemberAst } from "../../core/format/backend-ast/types.js"; export declare const getAsyncBodyReturnType: (isAsync: boolean, returnType: IrType | undefined) => IrType | undefined; /** * Validate that an arrow function's type parameters are in scope. * Throws ICE if an out-of-scope type parameter is found. */ export declare const validateArrowTypeScope: (arrowFunc: { parameters: readonly IrParameter[]; returnType?: IrType; }, arrowReturnType: IrType, inScopeTypeParams: ReadonlySet) => void; /** * Resolve the return type for a static arrow function. */ export declare const resolveArrowReturnType: (arrowFunc: { returnType?: IrType; inferredType?: IrType; }) => IrType; /** * Emit a static arrow function as field + companion __Impl method. * * Returns: * - For optional-arg arrows: [delegate decl, field, __Impl method] * - For regular arrows: [field, __Impl method] */ export declare const emitStaticArrowFieldMembers: (stmt: Extract, decl: { readonly name: { readonly kind: string; readonly name?: string; }; readonly initializer: { readonly kind: "arrowFunction"; readonly parameters: readonly IrParameter[]; readonly returnType?: IrType; readonly inferredType?: IrType; readonly isAsync: boolean; readonly body: IrBlockStatement | IrExpression; }; readonly type?: IrType; }, context: EmitterContext) => [readonly CSharpMemberAst[], EmitterContext]; //# sourceMappingURL=variable-static-arrow.d.ts.map