/** * Native array mutation interop for call expressions. * * Handles source-owned array wrapping for mutation calls (push, pop, shift, unshift, * splice, sort, reverse, fill, copyWithin) that modify arrays in place * and need to write back the mutated array. */ import { IrExpression, IrType } from "@tsonic/frontend"; import { EmitterContext } from "../../types.js"; import type { CSharpExpressionAst } from "../../core/format/backend-ast/types.js"; export declare const isArrayWrapperBindingType: (bindingType: string) => boolean; export declare const shouldPreferNativeArrayWrapperInterop: (binding: NonNullable["memberBinding"]> | undefined, receiverType: IrType | undefined, context: EmitterContext) => boolean; export declare const hasDirectNativeArrayLikeInteropShape: (receiverType: IrType | undefined) => boolean; export declare const emitArrayMutationInteropCall: (expr: Extract, context: EmitterContext) => [CSharpExpressionAst, EmitterContext] | undefined; //# sourceMappingURL=call-array-mutation.d.ts.map