UNPKG

@tsonic/dotnet-pure

Version:

TypeScript type definitions for .NET 10 BCL (Base Class Library) - CLR naming

671 lines (455 loc) 25.6 kB
// Generated by tsbindgen - Architecture // Namespace: System.Runtime.InteropServices.Marshalling // Assembly: System.Private.CoreLib, System.Runtime.InteropServices // Branded primitive types are sourced from @tsonic/types import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types'; // Import support types from @tsonic/types import type { ptr, ref } from "@tsonic/types"; // Import types from other namespaces import type { IFloatingPointIeee754_1, INumber_1 } from "../../System.Numerics/internal/index.js"; import * as System_Runtime_InteropServices_Internal from "../../System.Runtime.InteropServices/internal/index.js"; import type { ComWrappers, ComWrappers_ComInterfaceEntry, CreateComInterfaceFlags, CreateObjectFlags, IDynamicInterfaceCastable, SafeHandle, StringMarshalling, VarEnum } from "../../System.Runtime.InteropServices/internal/index.js"; import * as System_Internal from "../../System/internal/index.js"; import type { Attribute, Boolean as ClrBoolean, Byte, Char, Enum, Exception, Guid, IComparable, IConvertible, IDisposable, IFormatProvider, IFormattable, Int32, IntPtr, ISpanFormattable, Object as ClrObject, ReadOnlySpan_1, RuntimeTypeHandle, Span_1, String as ClrString, Type, TypeCode, UInt16, ValueType, Void } from "../../System/internal/index.js"; // CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints // This utility is used ONLY in generic type arguments to satisfy CLR interface constraints // Value positions (parameters, return types) use lowercase primitives for ergonomics export type CLROf<T> = T extends sbyte ? System_Internal.SByte : T extends short ? System_Internal.Int16 : T extends int ? System_Internal.Int32 : T extends long ? System_Internal.Int64 : T extends int128 ? System_Internal.Int128 : T extends nint ? System_Internal.IntPtr : T extends byte ? System_Internal.Byte : T extends ushort ? System_Internal.UInt16 : T extends uint ? System_Internal.UInt32 : T extends ulong ? System_Internal.UInt64 : T extends uint128 ? System_Internal.UInt128 : T extends nuint ? System_Internal.UIntPtr : T extends half ? System_Internal.Half : T extends float ? System_Internal.Single : T extends double ? System_Internal.Double : T extends decimal ? System_Internal.Decimal : T extends char ? System_Internal.Char : T extends boolean ? System_Internal.Boolean : T extends string ? System_Internal.String : T; // Identity fallback for non-primitive types export enum ComInterfaceOptions { None = 0, ManagedObjectWrapper = 1, ComObjectWrapper = 2 } export enum MarshalMode { Default = 0, ManagedToUnmanagedIn = 1, ManagedToUnmanagedRef = 2, ManagedToUnmanagedOut = 3, UnmanagedToManagedIn = 4, UnmanagedToManagedRef = 5, UnmanagedToManagedOut = 6, ElementIn = 7, ElementRef = 8, ElementOut = 9 } export interface IComExposedClass$instance { } export type IComExposedClass = IComExposedClass$instance; export interface IComExposedDetails$instance { GetComInterfaceEntries(count: { value: ref<int> }): ptr<ComWrappers_ComInterfaceEntry>; } export type IComExposedDetails = IComExposedDetails$instance; export interface IIUnknownCacheStrategy$instance { Clear(unknownStrategy: IIUnknownStrategy): void; ConstructTableInfo(handle: RuntimeTypeHandle, interfaceDetails: IIUnknownDerivedDetails, ptr: ptr<void>): IIUnknownCacheStrategy_TableInfo; TryGetTableInfo(handle: RuntimeTypeHandle, info: { value: ref<IIUnknownCacheStrategy_TableInfo> }): boolean; TrySetTableInfo(handle: RuntimeTypeHandle, info: IIUnknownCacheStrategy_TableInfo): boolean; } export type IIUnknownCacheStrategy = IIUnknownCacheStrategy$instance; export interface IIUnknownDerivedDetails$instance { readonly Iid: Guid; readonly Implementation: Type; readonly ManagedVirtualMethodTable: ptr<void>; } export type IIUnknownDerivedDetails = IIUnknownDerivedDetails$instance; export interface IIUnknownInterfaceDetailsStrategy$instance { GetComExposedTypeDetails(type_: RuntimeTypeHandle): IComExposedDetails; GetIUnknownDerivedDetails(type_: RuntimeTypeHandle): IIUnknownDerivedDetails; } export type IIUnknownInterfaceDetailsStrategy = IIUnknownInterfaceDetailsStrategy$instance; export interface IIUnknownInterfaceType$instance { } export type IIUnknownInterfaceType = IIUnknownInterfaceType$instance; export interface IIUnknownStrategy$instance { CreateInstancePointer(unknown_: ptr<void>): ptr<void>; QueryInterface(instancePtr: ptr<void>, iid: { value: ref<Guid> }, ppObj: { value: ref<ptr<void>> }): int; Release(instancePtr: ptr<void>): int; } export type IIUnknownStrategy = IIUnknownStrategy$instance; export interface IUnmanagedVirtualMethodTableProvider$instance { GetVirtualMethodTableInfoForKey(type_: Type): VirtualMethodTableInfo; } export type IUnmanagedVirtualMethodTableProvider = IUnmanagedVirtualMethodTableProvider$instance; export interface AnsiStringMarshaller_ManagedToUnmanagedIn$instance { Free(): void; FromManaged(managed: string, buffer: Span_1<CLROf<byte>>): void; ToUnmanaged(): ptr<byte>; } export const AnsiStringMarshaller_ManagedToUnmanagedIn: { new(): AnsiStringMarshaller_ManagedToUnmanagedIn$instance; readonly BufferSize: int; }; export type AnsiStringMarshaller_ManagedToUnmanagedIn = AnsiStringMarshaller_ManagedToUnmanagedIn$instance; export interface ArrayMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement extends unknown> { Free(): void; FromManaged(array: T[], buffer: Span_1<TUnmanagedElement>): void; GetManagedValuesSource(): ReadOnlySpan_1<T>; GetPinnableReference(): ref<TUnmanagedElement>; GetUnmanagedValuesDestination(): Span_1<TUnmanagedElement>; ToUnmanaged(): ptr<TUnmanagedElement>; } export const ArrayMarshaller_2_ManagedToUnmanagedIn: { new<T, TUnmanagedElement extends unknown>(): ArrayMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; readonly BufferSize: int; GetPinnableReference<T, TUnmanagedElement extends unknown>(array: T[]): ref<T>; }; export type ArrayMarshaller_2_ManagedToUnmanagedIn<T, TUnmanagedElement> = ArrayMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; export interface BStrStringMarshaller_ManagedToUnmanagedIn$instance { Free(): void; FromManaged(managed: string, buffer: Span_1<CLROf<byte>>): void; ToUnmanaged(): ptr<ushort>; } export const BStrStringMarshaller_ManagedToUnmanagedIn: { new(): BStrStringMarshaller_ManagedToUnmanagedIn$instance; readonly BufferSize: int; }; export type BStrStringMarshaller_ManagedToUnmanagedIn = BStrStringMarshaller_ManagedToUnmanagedIn$instance; export interface ComVariant$instance { readonly VarType: VarEnum; As<T>(): T; Dispose(): void; GetRawDataRef<T extends unknown>(): ref<T>; } export const ComVariant: { new(): ComVariant$instance; readonly Null: ComVariant; Create<T>(value: T): ComVariant; CreateRaw<T extends unknown>(vt: VarEnum, rawValue: T): ComVariant; }; export interface __ComVariant$views { As_IDisposable(): System_Internal.IDisposable$instance; } export interface ComVariant$instance extends System_Internal.IDisposable$instance {} export type ComVariant = ComVariant$instance & __ComVariant$views; export interface ComVariantMarshaller_RefPropagate$instance { Free(): void; FromManaged(managed: unknown): void; FromUnmanaged(unmanaged: ComVariant): void; ToManaged(): unknown; ToUnmanaged(): ComVariant; } export const ComVariantMarshaller_RefPropagate: { new(): ComVariantMarshaller_RefPropagate$instance; }; export type ComVariantMarshaller_RefPropagate = ComVariantMarshaller_RefPropagate$instance; export interface CustomMarshallerAttribute_GenericPlaceholder$instance { } export const CustomMarshallerAttribute_GenericPlaceholder: { new(): CustomMarshallerAttribute_GenericPlaceholder$instance; }; export type CustomMarshallerAttribute_GenericPlaceholder = CustomMarshallerAttribute_GenericPlaceholder$instance; export interface IIUnknownCacheStrategy_TableInfo$instance { ManagedType: RuntimeTypeHandle; Table: ptr<void>; ThisPtr: ptr<void>; } export const IIUnknownCacheStrategy_TableInfo: { new(): IIUnknownCacheStrategy_TableInfo$instance; }; export type IIUnknownCacheStrategy_TableInfo = IIUnknownCacheStrategy_TableInfo$instance; export interface PointerArrayMarshaller_2_ManagedToUnmanagedIn$instance<T extends unknown, TUnmanagedElement extends unknown> { Free(): void; FromManaged(array: ptr<T>[], buffer: Span_1<TUnmanagedElement>): void; GetManagedValuesSource(): ReadOnlySpan_1<CLROf<nint>>; GetPinnableReference(): ref<TUnmanagedElement>; GetUnmanagedValuesDestination(): Span_1<TUnmanagedElement>; ToUnmanaged(): ptr<TUnmanagedElement>; } export const PointerArrayMarshaller_2_ManagedToUnmanagedIn: { new<T extends unknown, TUnmanagedElement extends unknown>(): PointerArrayMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; readonly BufferSize: int; GetPinnableReference<T extends unknown, TUnmanagedElement extends unknown>(array: ptr<T>[]): ref<byte>; }; export type PointerArrayMarshaller_2_ManagedToUnmanagedIn<T, TUnmanagedElement> = PointerArrayMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; export interface ReadOnlySpanMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement extends unknown> { Free(): void; FromManaged(managed: ReadOnlySpan_1<T>, buffer: Span_1<TUnmanagedElement>): void; GetManagedValuesSource(): ReadOnlySpan_1<T>; GetPinnableReference(): ref<TUnmanagedElement>; GetUnmanagedValuesDestination(): Span_1<TUnmanagedElement>; ToUnmanaged(): ptr<TUnmanagedElement>; } export const ReadOnlySpanMarshaller_2_ManagedToUnmanagedIn: { new<T, TUnmanagedElement extends unknown>(): ReadOnlySpanMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; readonly BufferSize: int; GetPinnableReference<T, TUnmanagedElement extends unknown>(managed: ReadOnlySpan_1<T>): ref<T>; }; export type ReadOnlySpanMarshaller_2_ManagedToUnmanagedIn<T, TUnmanagedElement> = ReadOnlySpanMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; export interface ReadOnlySpanMarshaller_2_ManagedToUnmanagedOut$instance<T, TUnmanagedElement extends unknown> { Free(): void; FromUnmanaged(unmanaged: ptr<TUnmanagedElement>): void; GetManagedValuesDestination(numElements: int): Span_1<T>; GetUnmanagedValuesSource(numElements: int): ReadOnlySpan_1<TUnmanagedElement>; ToManaged(): ReadOnlySpan_1<T>; } export const ReadOnlySpanMarshaller_2_ManagedToUnmanagedOut: { new<T, TUnmanagedElement extends unknown>(): ReadOnlySpanMarshaller_2_ManagedToUnmanagedOut$instance<T, TUnmanagedElement>; }; export type ReadOnlySpanMarshaller_2_ManagedToUnmanagedOut<T, TUnmanagedElement> = ReadOnlySpanMarshaller_2_ManagedToUnmanagedOut$instance<T, TUnmanagedElement>; export interface SafeHandleMarshaller_1_ManagedToUnmanagedIn$instance<T extends SafeHandle> { Free(): void; FromManaged(handle: T): void; ToUnmanaged(): nint; } export const SafeHandleMarshaller_1_ManagedToUnmanagedIn: { new<T extends SafeHandle>(): SafeHandleMarshaller_1_ManagedToUnmanagedIn$instance<T>; }; export type SafeHandleMarshaller_1_ManagedToUnmanagedIn<T extends SafeHandle> = SafeHandleMarshaller_1_ManagedToUnmanagedIn$instance<T>; export interface SafeHandleMarshaller_1_ManagedToUnmanagedOut$instance<T extends SafeHandle> { Free(): void; FromUnmanaged(value: nint): void; ToManaged(): T; } export const SafeHandleMarshaller_1_ManagedToUnmanagedOut: { new<T extends SafeHandle>(): SafeHandleMarshaller_1_ManagedToUnmanagedOut$instance<T>; }; export type SafeHandleMarshaller_1_ManagedToUnmanagedOut<T extends SafeHandle> = SafeHandleMarshaller_1_ManagedToUnmanagedOut$instance<T>; export interface SafeHandleMarshaller_1_ManagedToUnmanagedRef$instance<T extends SafeHandle> { Free(): void; FromManaged(handle: T): void; FromUnmanaged(value: nint): void; OnInvoked(): void; ToManagedFinally(): T; ToUnmanaged(): nint; } export const SafeHandleMarshaller_1_ManagedToUnmanagedRef: { new<T extends SafeHandle>(): SafeHandleMarshaller_1_ManagedToUnmanagedRef$instance<T>; }; export type SafeHandleMarshaller_1_ManagedToUnmanagedRef<T extends SafeHandle> = SafeHandleMarshaller_1_ManagedToUnmanagedRef$instance<T>; export interface SpanMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement extends unknown> { Free(): void; FromManaged(managed: Span_1<T>, buffer: Span_1<TUnmanagedElement>): void; GetManagedValuesSource(): ReadOnlySpan_1<T>; GetPinnableReference(): ref<TUnmanagedElement>; GetUnmanagedValuesDestination(): Span_1<TUnmanagedElement>; ToUnmanaged(): ptr<TUnmanagedElement>; } export const SpanMarshaller_2_ManagedToUnmanagedIn: { new<T, TUnmanagedElement extends unknown>(): SpanMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; readonly BufferSize: int; GetPinnableReference<T, TUnmanagedElement extends unknown>(managed: Span_1<T>): ref<T>; }; export type SpanMarshaller_2_ManagedToUnmanagedIn<T, TUnmanagedElement> = SpanMarshaller_2_ManagedToUnmanagedIn$instance<T, TUnmanagedElement>; export interface Utf8StringMarshaller_ManagedToUnmanagedIn$instance { Free(): void; FromManaged(managed: string, buffer: Span_1<CLROf<byte>>): void; ToUnmanaged(): ptr<byte>; } export const Utf8StringMarshaller_ManagedToUnmanagedIn: { new(): Utf8StringMarshaller_ManagedToUnmanagedIn$instance; readonly BufferSize: int; }; export type Utf8StringMarshaller_ManagedToUnmanagedIn = Utf8StringMarshaller_ManagedToUnmanagedIn$instance; export interface VirtualMethodTableInfo$instance { readonly ThisPointer: ptr<void>; readonly VirtualMethodTable: ptr<void>; Deconstruct(thisPointer: { value: ref<ptr<void>> }, virtualMethodTable: { value: ref<ptr<void>> }): void; } export const VirtualMethodTableInfo: { new(thisPointer: ptr<void>, virtualMethodTable: ptr<void>): VirtualMethodTableInfo$instance; }; export type VirtualMethodTableInfo = VirtualMethodTableInfo$instance; export interface ComExposedClassAttribute_1$instance<T extends IComExposedClass> extends Attribute { GetComInterfaceEntries(count: { value: ref<int> }): ptr<ComWrappers_ComInterfaceEntry>; } export const ComExposedClassAttribute_1: { new<T extends IComExposedClass>(): ComExposedClassAttribute_1$instance<T>; }; export interface __ComExposedClassAttribute_1$views<T extends IComExposedClass> { As_IComExposedDetails(): IComExposedDetails$instance; } export interface ComExposedClassAttribute_1$instance<T extends IComExposedClass> extends IComExposedDetails$instance {} export type ComExposedClassAttribute_1<T extends IComExposedClass> = ComExposedClassAttribute_1$instance<T> & __ComExposedClassAttribute_1$views<T>; export interface ComObject$instance { FinalRelease(): void; } export const ComObject: { new(): ComObject$instance; }; export interface __ComObject$views { As_IDynamicInterfaceCastable(): System_Runtime_InteropServices_Internal.IDynamicInterfaceCastable$instance; As_IUnmanagedVirtualMethodTableProvider(): IUnmanagedVirtualMethodTableProvider$instance; } export interface ComObject$instance extends System_Runtime_InteropServices_Internal.IDynamicInterfaceCastable$instance, IUnmanagedVirtualMethodTableProvider$instance {} export type ComObject = ComObject$instance & __ComObject$views; export interface ContiguousCollectionMarshallerAttribute$instance extends Attribute { } export const ContiguousCollectionMarshallerAttribute: { new(): ContiguousCollectionMarshallerAttribute$instance; }; export type ContiguousCollectionMarshallerAttribute = ContiguousCollectionMarshallerAttribute$instance; export interface CustomMarshallerAttribute$instance extends Attribute { readonly ManagedType: Type; readonly MarshallerType: Type; readonly MarshalMode: MarshalMode; } export const CustomMarshallerAttribute: { new(managedType: Type, marshalMode: MarshalMode, marshallerType: Type): CustomMarshallerAttribute$instance; }; export type CustomMarshallerAttribute = CustomMarshallerAttribute$instance; export interface GeneratedComClassAttribute$instance extends Attribute { } export const GeneratedComClassAttribute: { new(): GeneratedComClassAttribute$instance; }; export type GeneratedComClassAttribute = GeneratedComClassAttribute$instance; export interface GeneratedComInterfaceAttribute$instance extends Attribute { ExceptionToUnmanagedMarshaller: Type; Options: ComInterfaceOptions; StringMarshalling: StringMarshalling; StringMarshallingCustomType: Type; } export const GeneratedComInterfaceAttribute: { new(): GeneratedComInterfaceAttribute$instance; }; export type GeneratedComInterfaceAttribute = GeneratedComInterfaceAttribute$instance; export interface IUnknownDerivedAttribute_2$instance<T extends IIUnknownInterfaceType, TImpl> extends Attribute { readonly Iid: Guid; readonly Implementation: Type; readonly ManagedVirtualMethodTable: ptr<void>; } export const IUnknownDerivedAttribute_2: { new<T extends IIUnknownInterfaceType, TImpl>(): IUnknownDerivedAttribute_2$instance<T, TImpl>; }; export interface __IUnknownDerivedAttribute_2$views<T extends IIUnknownInterfaceType, TImpl> { As_IIUnknownDerivedDetails(): IIUnknownDerivedDetails$instance; } export interface IUnknownDerivedAttribute_2$instance<T extends IIUnknownInterfaceType, TImpl> extends IIUnknownDerivedDetails$instance {} export type IUnknownDerivedAttribute_2<T extends IIUnknownInterfaceType, TImpl> = IUnknownDerivedAttribute_2$instance<T, TImpl> & __IUnknownDerivedAttribute_2$views<T, TImpl>; export interface MarshalUsingAttribute$instance extends Attribute { ConstantElementCount: int; CountElementName: string; ElementIndirectionDepth: int; readonly NativeType: Type; } export const MarshalUsingAttribute: { new(): MarshalUsingAttribute$instance; new(nativeType: Type): MarshalUsingAttribute$instance; readonly ReturnsCountValue: string; }; export type MarshalUsingAttribute = MarshalUsingAttribute$instance; export interface NativeMarshallingAttribute$instance extends Attribute { readonly NativeType: Type; } export const NativeMarshallingAttribute: { new(nativeType: Type): NativeMarshallingAttribute$instance; }; export type NativeMarshallingAttribute = NativeMarshallingAttribute$instance; export interface StrategyBasedComWrappers$instance extends ComWrappers { } export const StrategyBasedComWrappers: { new(): StrategyBasedComWrappers$instance; readonly DefaultIUnknownInterfaceDetailsStrategy: IIUnknownInterfaceDetailsStrategy; readonly DefaultIUnknownStrategy: IIUnknownStrategy; }; export type StrategyBasedComWrappers = StrategyBasedComWrappers$instance; export abstract class AnsiStringMarshaller$instance { static ConvertToManaged(unmanaged: ptr<byte>): string; static ConvertToUnmanaged(managed: string): ptr<byte>; static Free(unmanaged: ptr<byte>): void; } export type AnsiStringMarshaller = AnsiStringMarshaller$instance; export abstract class ArrayMarshaller_2$instance { static AllocateContainerForManagedElements<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): T[]; static AllocateContainerForUnmanagedElements<T, TUnmanagedElement extends unknown>(managed: T[], numElements: { value: ref<int> }): ptr<TUnmanagedElement>; static Free<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>): void; static GetManagedValuesDestination<T, TUnmanagedElement extends unknown>(managed: T[]): Span_1<T>; static GetManagedValuesSource<T, TUnmanagedElement extends unknown>(managed: T[]): ReadOnlySpan_1<T>; static GetUnmanagedValuesDestination<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): Span_1<TUnmanagedElement>; static GetUnmanagedValuesSource<T, TUnmanagedElement extends unknown>(unmanagedValue: ptr<TUnmanagedElement>, numElements: int): ReadOnlySpan_1<TUnmanagedElement>; } export abstract class BStrStringMarshaller$instance { static ConvertToManaged(unmanaged: ptr<ushort>): string; static ConvertToUnmanaged(managed: string): ptr<ushort>; static Free(unmanaged: ptr<ushort>): void; } export type BStrStringMarshaller = BStrStringMarshaller$instance; export abstract class ComInterfaceMarshaller_1$instance { static ConvertToManaged<T>(unmanaged: ptr<void>): T; static ConvertToUnmanaged<T>(managed: T): ptr<void>; static Free<T>(unmanaged: ptr<void>): void; } export abstract class ComVariantMarshaller$instance { static ConvertToManaged(unmanaged: ComVariant): unknown; static ConvertToUnmanaged(managed: unknown): ComVariant; static Free(unmanaged: ComVariant): void; } export type ComVariantMarshaller = ComVariantMarshaller$instance; export abstract class ExceptionAsDefaultMarshaller_1$instance { static ConvertToUnmanaged<T extends unknown>(e: Exception): T; } export abstract class ExceptionAsHResultMarshaller_1$instance { static ConvertToUnmanaged<T extends INumber_1<T>>(e: Exception): T; } export abstract class ExceptionAsNaNMarshaller_1$instance { static ConvertToUnmanaged<T extends IFloatingPointIeee754_1<T>>(e: Exception): T; } export abstract class ExceptionAsVoidMarshaller$instance { static ConvertToUnmanaged(e: Exception): void; } export type ExceptionAsVoidMarshaller = ExceptionAsVoidMarshaller$instance; export abstract class PointerArrayMarshaller_2$instance { static AllocateContainerForManagedElements<T extends unknown, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): ptr<T>[]; static AllocateContainerForUnmanagedElements<T extends unknown, TUnmanagedElement extends unknown>(managed: ptr<T>[], numElements: { value: ref<int> }): ptr<TUnmanagedElement>; static Free<T extends unknown, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>): void; static GetManagedValuesDestination<T extends unknown, TUnmanagedElement extends unknown>(managed: ptr<T>[]): Span_1<CLROf<nint>>; static GetManagedValuesSource<T extends unknown, TUnmanagedElement extends unknown>(managed: ptr<T>[]): ReadOnlySpan_1<CLROf<nint>>; static GetUnmanagedValuesDestination<T extends unknown, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): Span_1<TUnmanagedElement>; static GetUnmanagedValuesSource<T extends unknown, TUnmanagedElement extends unknown>(unmanagedValue: ptr<TUnmanagedElement>, numElements: int): ReadOnlySpan_1<TUnmanagedElement>; } export abstract class ReadOnlySpanMarshaller_2$instance { } export abstract class ReadOnlySpanMarshaller_2_UnmanagedToManagedOut$instance { static AllocateContainerForUnmanagedElements<T, TUnmanagedElement extends unknown>(managed: ReadOnlySpan_1<T>, numElements: { value: ref<int> }): ptr<TUnmanagedElement>; static GetManagedValuesSource<T, TUnmanagedElement extends unknown>(managed: ReadOnlySpan_1<T>): ReadOnlySpan_1<T>; static GetUnmanagedValuesDestination<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): Span_1<TUnmanagedElement>; } export abstract class SafeHandleMarshaller_1$instance { } export abstract class SpanMarshaller_2$instance { static AllocateContainerForManagedElements<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): Span_1<T>; static AllocateContainerForUnmanagedElements<T, TUnmanagedElement extends unknown>(managed: Span_1<T>, numElements: { value: ref<int> }): ptr<TUnmanagedElement>; static Free<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>): void; static GetManagedValuesDestination<T, TUnmanagedElement extends unknown>(managed: Span_1<T>): Span_1<T>; static GetManagedValuesSource<T, TUnmanagedElement extends unknown>(managed: Span_1<T>): ReadOnlySpan_1<T>; static GetUnmanagedValuesDestination<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): Span_1<TUnmanagedElement>; static GetUnmanagedValuesSource<T, TUnmanagedElement extends unknown>(unmanaged: ptr<TUnmanagedElement>, numElements: int): ReadOnlySpan_1<TUnmanagedElement>; } export abstract class UniqueComInterfaceMarshaller_1$instance { static ConvertToManaged<T>(unmanaged: ptr<void>): T; static ConvertToUnmanaged<T>(managed: T): ptr<void>; static Free<T>(unmanaged: ptr<void>): void; } export abstract class Utf16StringMarshaller$instance { static ConvertToManaged(unmanaged: ptr<ushort>): string; static ConvertToUnmanaged(managed: string): ptr<ushort>; static Free(unmanaged: ptr<ushort>): void; static GetPinnableReference(str: string): ref<char>; } export type Utf16StringMarshaller = Utf16StringMarshaller$instance; export abstract class Utf8StringMarshaller$instance { static ConvertToManaged(unmanaged: ptr<byte>): string; static ConvertToUnmanaged(managed: string): ptr<byte>; static Free(unmanaged: ptr<byte>): void; } export type Utf8StringMarshaller = Utf8StringMarshaller$instance;