UNPKG

@tsonic/dotnet

Version:

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

938 lines (714 loc) 39 kB
// Generated by tsbindgen - Architecture // Namespace: System.Reflection.Metadata.Ecma335 // Assembly: System.Reflection.Metadata // 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 { IEnumerable_1, IReadOnlyList_1 } from "../../System.Collections.Generic/internal/index.js"; import type { ImmutableArray_1 } from "../../System.Collections.Immutable/internal/index.js"; import type { AssemblyDefinitionHandle, AssemblyFileHandle, AssemblyReferenceHandle, Blob, BlobBuilder, BlobContentId, BlobHandle, BlobReader, ConstantHandle, CustomAttributeHandle, CustomDebugInformationHandle, DeclarativeSecurityAttributeHandle, DocumentHandle, DocumentNameBlobHandle, EntityHandle, EventDefinitionHandle, ExceptionRegionKind, ExportedType, ExportedTypeHandle, FieldDefinitionHandle, GenericParameterConstraintHandle, GenericParameterHandle, GuidHandle, Handle, HandleKind, ILOpCode, ImportScopeHandle, InterfaceImplementationHandle, ISignatureTypeProvider_2, LocalConstantHandle, LocalScopeHandle, LocalVariableAttributes, LocalVariableHandle, ManifestResourceHandle, MemberReferenceHandle, MetadataReader, MethodDebugInformationHandle, MethodDefinitionHandle, MethodImplementationHandle, MethodSignature_1, MethodSpecificationHandle, ModuleDefinitionHandle, ModuleReferenceHandle, ParameterHandle, PrimitiveSerializationTypeCode, PrimitiveTypeCode, PropertyDefinitionHandle, ReservedBlob_1, SignatureCallingConvention, SignatureTypeKind, StandaloneSignatureHandle, StringHandle, TypeDefinitionHandle, TypeReferenceHandle, TypeSpecificationHandle, UserStringHandle } from "../../System.Reflection.Metadata/internal/index.js"; import type { AssemblyFlags, AssemblyHashAlgorithm, DeclarativeSecurityAction, EventAttributes, FieldAttributes, GenericParameterAttributes, ManifestResourceAttributes, MethodAttributes, MethodImplAttributes, MethodImportAttributes, MethodSemanticsAttributes, ParameterAttributes, PropertyAttributes, TypeAttributes } from "../../System.Reflection/internal/index.js"; import * as System_Internal from "../../System/internal/index.js"; import type { Action_1, Boolean as ClrBoolean, Byte, Double, Enum, Func_2, Guid, IComparable, IConvertible, IEquatable_1, IFormatProvider, IFormattable, Int32, Int64, ISpanFormattable, Object as ClrObject, Single, String as ClrString, Type, TypeCode, UInt16, UInt32, ValueType, Version, 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 EditAndContinueOperation { default_ = 0, addMethod = 1, addField = 2, addParameter = 3, addProperty = 4, addEvent = 5 } export enum FunctionPointerAttributes { none = 0, hasThis = 32, hasExplicitThis = 96 } export enum HeapIndex { userString = 0, string_ = 1, blob = 2, guid = 3 } export enum MethodBodyAttributes { none = 0, initLocals = 1 } export enum TableIndex { module_ = 0, typeRef = 1, typeDef = 2, fieldPtr = 3, field = 4, methodPtr = 5, methodDef = 6, paramPtr = 7, param = 8, interfaceImpl = 9, memberRef = 10, constant = 11, customAttribute = 12, fieldMarshal = 13, declSecurity = 14, classLayout = 15, fieldLayout = 16, standAloneSig = 17, eventMap = 18, eventPtr = 19, event = 20, propertyMap = 21, propertyPtr = 22, property = 23, methodSemantics = 24, methodImpl = 25, moduleRef = 26, typeSpec = 27, implMap = 28, fieldRva = 29, encLog = 30, encMap = 31, assembly = 32, assemblyProcessor = 33, assemblyOS = 34, assemblyRef = 35, assemblyRefProcessor = 36, assemblyRefOS = 37, file = 38, exportedType = 39, manifestResource = 40, nestedClass = 41, genericParam = 42, methodSpec = 43, genericParamConstraint = 44, document = 48, methodDebugInformation = 49, localScope = 50, localVariable = 51, localConstant = 52, importScope = 53, stateMachineMethod = 54, customDebugInformation = 55 } export interface ArrayShapeEncoder$instance { readonly builder: BlobBuilder; shape(rank: int, sizes: ImmutableArray_1<CLROf<int>>, lowerBounds: ImmutableArray_1<CLROf<int>>): void; } export const ArrayShapeEncoder: { new(builder: BlobBuilder): ArrayShapeEncoder$instance; }; export type ArrayShapeEncoder = ArrayShapeEncoder$instance; export interface BlobEncoder$instance { readonly builder: BlobBuilder; customAttributeSignature(fixedArguments: { value: ref<FixedArgumentsEncoder> }, namedArguments: { value: ref<CustomAttributeNamedArgumentsEncoder> }): void; customAttributeSignature(fixedArguments: Action_1<FixedArgumentsEncoder>, namedArguments: Action_1<CustomAttributeNamedArgumentsEncoder>): void; field(): FieldTypeEncoder; fieldSignature(): SignatureTypeEncoder; localVariableSignature(variableCount: int): LocalVariablesEncoder; methodSignature(convention?: SignatureCallingConvention, genericParameterCount?: int, isInstanceMethod?: boolean): MethodSignatureEncoder; methodSpecificationSignature(genericArgumentCount: int): GenericTypeArgumentsEncoder; permissionSetArguments(argumentCount: int): NamedArgumentsEncoder; permissionSetBlob(attributeCount: int): PermissionSetEncoder; propertySignature(isInstanceProperty?: boolean): MethodSignatureEncoder; typeSpecificationSignature(): SignatureTypeEncoder; } export const BlobEncoder: { new(builder: BlobBuilder): BlobEncoder$instance; }; export type BlobEncoder = BlobEncoder$instance; export interface CustomAttributeArrayTypeEncoder$instance { readonly builder: BlobBuilder; elementType(): CustomAttributeElementTypeEncoder; objectArray(): void; } export const CustomAttributeArrayTypeEncoder: { new(builder: BlobBuilder): CustomAttributeArrayTypeEncoder$instance; }; export type CustomAttributeArrayTypeEncoder = CustomAttributeArrayTypeEncoder$instance; export interface CustomAttributeElementTypeEncoder$instance { readonly builder: BlobBuilder; boolean_(): void; byte(): void; char(): void; double(): void; enum_(enumTypeName: string): void; int16(): void; int32(): void; int64(): void; primitiveType(type_: PrimitiveSerializationTypeCode): void; sByte(): void; single(): void; string_(): void; systemType(): void; uInt16(): void; uInt32(): void; uInt64(): void; } export const CustomAttributeElementTypeEncoder: { new(builder: BlobBuilder): CustomAttributeElementTypeEncoder$instance; }; export type CustomAttributeElementTypeEncoder = CustomAttributeElementTypeEncoder$instance; export interface CustomAttributeNamedArgumentsEncoder$instance { readonly builder: BlobBuilder; count(count: int): NamedArgumentsEncoder; } export const CustomAttributeNamedArgumentsEncoder: { new(builder: BlobBuilder): CustomAttributeNamedArgumentsEncoder$instance; }; export type CustomAttributeNamedArgumentsEncoder = CustomAttributeNamedArgumentsEncoder$instance; export interface CustomModifiersEncoder$instance { readonly builder: BlobBuilder; addModifier(type_: EntityHandle, isOptional: boolean): CustomModifiersEncoder; } export const CustomModifiersEncoder: { new(builder: BlobBuilder): CustomModifiersEncoder$instance; }; export type CustomModifiersEncoder = CustomModifiersEncoder$instance; export interface EditAndContinueLogEntry$instance { readonly handle: EntityHandle; readonly operation: EditAndContinueOperation; equals(obj: unknown): boolean; equals(other: EditAndContinueLogEntry): boolean; getHashCode(): int; } export const EditAndContinueLogEntry: { new(handle: EntityHandle, operation: EditAndContinueOperation): EditAndContinueLogEntry$instance; }; export interface __EditAndContinueLogEntry$views { As_IEquatable_1(): System_Internal.IEquatable_1$instance<EditAndContinueLogEntry>; // Structural method bridges for numeric interface constraints Equals(other: EditAndContinueLogEntry): boolean; } export type EditAndContinueLogEntry = EditAndContinueLogEntry$instance & __EditAndContinueLogEntry$views; export interface ExceptionRegionEncoder$instance { readonly builder: BlobBuilder; readonly hasSmallFormat: boolean; add(kind: ExceptionRegionKind, tryOffset: int, tryLength: int, handlerOffset: int, handlerLength: int, catchType?: EntityHandle, filterOffset?: int): ExceptionRegionEncoder; addCatch(tryOffset: int, tryLength: int, handlerOffset: int, handlerLength: int, catchType: EntityHandle): ExceptionRegionEncoder; addFault(tryOffset: int, tryLength: int, handlerOffset: int, handlerLength: int): ExceptionRegionEncoder; addFilter(tryOffset: int, tryLength: int, handlerOffset: int, handlerLength: int, filterOffset: int): ExceptionRegionEncoder; addFinally(tryOffset: int, tryLength: int, handlerOffset: int, handlerLength: int): ExceptionRegionEncoder; } export const ExceptionRegionEncoder: { new(): ExceptionRegionEncoder$instance; isSmallExceptionRegion(startOffset: int, length: int): boolean; isSmallRegionCount(exceptionRegionCount: int): boolean; }; export type ExceptionRegionEncoder = ExceptionRegionEncoder$instance; export interface FieldTypeEncoder$instance { readonly builder: BlobBuilder; customModifiers(): CustomModifiersEncoder; type_(isByRef?: boolean): SignatureTypeEncoder; typedReference(): void; } export const FieldTypeEncoder: { new(builder: BlobBuilder): FieldTypeEncoder$instance; }; export type FieldTypeEncoder = FieldTypeEncoder$instance; export interface FixedArgumentsEncoder$instance { readonly builder: BlobBuilder; addArgument(): LiteralEncoder; } export const FixedArgumentsEncoder: { new(builder: BlobBuilder): FixedArgumentsEncoder$instance; }; export type FixedArgumentsEncoder = FixedArgumentsEncoder$instance; export interface GenericTypeArgumentsEncoder$instance { readonly builder: BlobBuilder; addArgument(): SignatureTypeEncoder; } export const GenericTypeArgumentsEncoder: { new(builder: BlobBuilder): GenericTypeArgumentsEncoder$instance; }; export type GenericTypeArgumentsEncoder = GenericTypeArgumentsEncoder$instance; export interface InstructionEncoder$instance { readonly codeBuilder: BlobBuilder; readonly controlFlowBuilder: ControlFlowBuilder; readonly offset: int; branch(code: ILOpCode, label: LabelHandle): void; call(methodHandle: EntityHandle): void; call(methodHandle: MethodDefinitionHandle): void; call(methodHandle: MethodSpecificationHandle): void; call(methodHandle: MemberReferenceHandle): void; callIndirect(signature: StandaloneSignatureHandle): void; defineLabel(): LabelHandle; loadArgument(argumentIndex: int): void; loadArgumentAddress(argumentIndex: int): void; loadConstantI4(value: int): void; loadConstantI8(value: long): void; loadConstantR4(value: float): void; loadConstantR8(value: double): void; loadLocal(slotIndex: int): void; loadLocalAddress(slotIndex: int): void; loadString(handle: UserStringHandle): void; markLabel(label: LabelHandle): void; opCode(code: ILOpCode): void; storeArgument(argumentIndex: int): void; storeLocal(slotIndex: int): void; switch_(branchCount: int): SwitchInstructionEncoder; token(handle: EntityHandle): void; token(token: int): void; } export const InstructionEncoder: { new(codeBuilder: BlobBuilder, controlFlowBuilder: ControlFlowBuilder): InstructionEncoder$instance; }; export type InstructionEncoder = InstructionEncoder$instance; export interface LabelHandle$instance { readonly id: int; readonly isNil: boolean; equals(other: LabelHandle): boolean; equals(obj: unknown): boolean; getHashCode(): int; } export const LabelHandle: { new(): LabelHandle$instance; }; export interface __LabelHandle$views { As_IEquatable_1(): System_Internal.IEquatable_1$instance<LabelHandle>; // Structural method bridges for numeric interface constraints Equals(other: LabelHandle): boolean; } export type LabelHandle = LabelHandle$instance & __LabelHandle$views; export interface LiteralEncoder$instance { readonly builder: BlobBuilder; scalar(): ScalarEncoder; taggedScalar(type_: { value: ref<CustomAttributeElementTypeEncoder> }, scalar: { value: ref<ScalarEncoder> }): void; taggedScalar(type_: Action_1<CustomAttributeElementTypeEncoder>, scalar: Action_1<ScalarEncoder>): void; taggedVector(arrayType: { value: ref<CustomAttributeArrayTypeEncoder> }, vector: { value: ref<VectorEncoder> }): void; taggedVector(arrayType: Action_1<CustomAttributeArrayTypeEncoder>, vector: Action_1<VectorEncoder>): void; vector(): VectorEncoder; } export const LiteralEncoder: { new(builder: BlobBuilder): LiteralEncoder$instance; }; export type LiteralEncoder = LiteralEncoder$instance; export interface LiteralsEncoder$instance { readonly builder: BlobBuilder; addLiteral(): LiteralEncoder; } export const LiteralsEncoder: { new(builder: BlobBuilder): LiteralsEncoder$instance; }; export type LiteralsEncoder = LiteralsEncoder$instance; export interface LocalVariablesEncoder$instance { readonly builder: BlobBuilder; addVariable(): LocalVariableTypeEncoder; } export const LocalVariablesEncoder: { new(builder: BlobBuilder): LocalVariablesEncoder$instance; }; export type LocalVariablesEncoder = LocalVariablesEncoder$instance; export interface LocalVariableTypeEncoder$instance { readonly builder: BlobBuilder; customModifiers(): CustomModifiersEncoder; type_(isByRef?: boolean, isPinned?: boolean): SignatureTypeEncoder; typedReference(): void; } export const LocalVariableTypeEncoder: { new(builder: BlobBuilder): LocalVariableTypeEncoder$instance; }; export type LocalVariableTypeEncoder = LocalVariableTypeEncoder$instance; export interface MethodBodyStreamEncoder$instance { readonly builder: BlobBuilder; addMethodBody(codeSize: int, maxStack: int, exceptionRegionCount: int, hasSmallExceptionRegions: boolean, localVariablesSignature: StandaloneSignatureHandle, attributes: MethodBodyAttributes): MethodBodyStreamEncoder_MethodBody; addMethodBody(codeSize: int, maxStack?: int, exceptionRegionCount?: int, hasSmallExceptionRegions?: boolean, localVariablesSignature?: StandaloneSignatureHandle, attributes?: MethodBodyAttributes, hasDynamicStackAllocation?: boolean): MethodBodyStreamEncoder_MethodBody; addMethodBody(instructionEncoder: InstructionEncoder, maxStack: int, localVariablesSignature: StandaloneSignatureHandle, attributes: MethodBodyAttributes): int; addMethodBody(instructionEncoder: InstructionEncoder, maxStack?: int, localVariablesSignature?: StandaloneSignatureHandle, attributes?: MethodBodyAttributes, hasDynamicStackAllocation?: boolean): int; } export const MethodBodyStreamEncoder: { new(builder: BlobBuilder): MethodBodyStreamEncoder$instance; }; export type MethodBodyStreamEncoder = MethodBodyStreamEncoder$instance; export interface MethodBodyStreamEncoder_MethodBody$instance { readonly exceptionRegions: ExceptionRegionEncoder; readonly instructions: Blob; readonly offset: int; } export const MethodBodyStreamEncoder_MethodBody: { new(): MethodBodyStreamEncoder_MethodBody$instance; }; export type MethodBodyStreamEncoder_MethodBody = MethodBodyStreamEncoder_MethodBody$instance; export interface MethodSignatureEncoder$instance { readonly builder: BlobBuilder; readonly hasVarArgs: boolean; parameters(parameterCount: int, returnType: { value: ref<ReturnTypeEncoder> }, parameters: { value: ref<ParametersEncoder> }): void; parameters(parameterCount: int, returnType: Action_1<ReturnTypeEncoder>, parameters: Action_1<ParametersEncoder>): void; } export const MethodSignatureEncoder: { new(builder: BlobBuilder, hasVarArgs: boolean): MethodSignatureEncoder$instance; }; export type MethodSignatureEncoder = MethodSignatureEncoder$instance; export interface NamedArgumentsEncoder$instance { readonly builder: BlobBuilder; addArgument(isField: boolean, type_: { value: ref<NamedArgumentTypeEncoder> }, name: { value: ref<NameEncoder> }, literal: { value: ref<LiteralEncoder> }): void; addArgument(isField: boolean, type_: Action_1<NamedArgumentTypeEncoder>, name: Action_1<NameEncoder>, literal: Action_1<LiteralEncoder>): void; } export const NamedArgumentsEncoder: { new(builder: BlobBuilder): NamedArgumentsEncoder$instance; }; export type NamedArgumentsEncoder = NamedArgumentsEncoder$instance; export interface NamedArgumentTypeEncoder$instance { readonly builder: BlobBuilder; object_(): void; scalarType(): CustomAttributeElementTypeEncoder; szArray(): CustomAttributeArrayTypeEncoder; } export const NamedArgumentTypeEncoder: { new(builder: BlobBuilder): NamedArgumentTypeEncoder$instance; }; export type NamedArgumentTypeEncoder = NamedArgumentTypeEncoder$instance; export interface NameEncoder$instance { readonly builder: BlobBuilder; name(name: string): void; } export const NameEncoder: { new(builder: BlobBuilder): NameEncoder$instance; }; export type NameEncoder = NameEncoder$instance; export interface ParametersEncoder$instance { readonly builder: BlobBuilder; readonly hasVarArgs: boolean; addParameter(): ParameterTypeEncoder; startVarArgs(): ParametersEncoder; } export const ParametersEncoder: { new(builder: BlobBuilder, hasVarArgs: boolean): ParametersEncoder$instance; }; export type ParametersEncoder = ParametersEncoder$instance; export interface ParameterTypeEncoder$instance { readonly builder: BlobBuilder; customModifiers(): CustomModifiersEncoder; type_(isByRef?: boolean): SignatureTypeEncoder; typedReference(): void; } export const ParameterTypeEncoder: { new(builder: BlobBuilder): ParameterTypeEncoder$instance; }; export type ParameterTypeEncoder = ParameterTypeEncoder$instance; export interface PermissionSetEncoder$instance { readonly builder: BlobBuilder; addPermission(typeName: string, encodedArguments: ImmutableArray_1<CLROf<byte>>): PermissionSetEncoder; addPermission(typeName: string, encodedArguments: BlobBuilder): PermissionSetEncoder; } export const PermissionSetEncoder: { new(builder: BlobBuilder): PermissionSetEncoder$instance; }; export type PermissionSetEncoder = PermissionSetEncoder$instance; export interface ReturnTypeEncoder$instance { readonly builder: BlobBuilder; customModifiers(): CustomModifiersEncoder; type_(isByRef?: boolean): SignatureTypeEncoder; typedReference(): void; void_(): void; } export const ReturnTypeEncoder: { new(builder: BlobBuilder): ReturnTypeEncoder$instance; }; export type ReturnTypeEncoder = ReturnTypeEncoder$instance; export interface ScalarEncoder$instance { readonly builder: BlobBuilder; constant(value: unknown): void; nullArray(): void; systemType(serializedTypeName: string): void; } export const ScalarEncoder: { new(builder: BlobBuilder): ScalarEncoder$instance; }; export type ScalarEncoder = ScalarEncoder$instance; export interface SignatureDecoder_2$instance<TType, TGenericContext> { decodeFieldSignature(blobReader: { value: ref<BlobReader> }): TType; decodeLocalSignature(blobReader: { value: ref<BlobReader> }): ImmutableArray_1<TType>; decodeMethodSignature(blobReader: { value: ref<BlobReader> }): MethodSignature_1<TType>; decodeMethodSpecificationSignature(blobReader: { value: ref<BlobReader> }): ImmutableArray_1<TType>; decodeType(blobReader: { value: ref<BlobReader> }, allowTypeSpecifications?: boolean): TType; } export const SignatureDecoder_2: { new<TType, TGenericContext>(provider: ISignatureTypeProvider_2<TType, TGenericContext>, metadataReader: MetadataReader, genericContext: TGenericContext): SignatureDecoder_2$instance<TType, TGenericContext>; }; export type SignatureDecoder_2<TType, TGenericContext> = SignatureDecoder_2$instance<TType, TGenericContext>; export interface SignatureTypeEncoder$instance { readonly builder: BlobBuilder; array(elementType: { value: ref<SignatureTypeEncoder> }, arrayShape: { value: ref<ArrayShapeEncoder> }): void; array(elementType: Action_1<SignatureTypeEncoder>, arrayShape: Action_1<ArrayShapeEncoder>): void; boolean_(): void; byte(): void; char(): void; customModifiers(): CustomModifiersEncoder; double(): void; functionPointer(convention?: SignatureCallingConvention, attributes?: FunctionPointerAttributes, genericParameterCount?: int): MethodSignatureEncoder; genericInstantiation(genericType: EntityHandle, genericArgumentCount: int, isValueType: boolean): GenericTypeArgumentsEncoder; genericMethodTypeParameter(parameterIndex: int): void; genericTypeParameter(parameterIndex: int): void; int16(): void; int32(): void; int64(): void; intPtr(): void; object_(): void; pointer(): SignatureTypeEncoder; primitiveType(type_: PrimitiveTypeCode): void; sByte(): void; single(): void; string_(): void; szArray(): SignatureTypeEncoder; type_(type_: EntityHandle, isValueType: boolean): void; typedReference(): void; uInt16(): void; uInt32(): void; uInt64(): void; uIntPtr(): void; voidPointer(): void; } export const SignatureTypeEncoder: { new(builder: BlobBuilder): SignatureTypeEncoder$instance; }; export type SignatureTypeEncoder = SignatureTypeEncoder$instance; export interface SwitchInstructionEncoder$instance { branch(label: LabelHandle): void; } export const SwitchInstructionEncoder: { new(): SwitchInstructionEncoder$instance; }; export type SwitchInstructionEncoder = SwitchInstructionEncoder$instance; export interface VectorEncoder$instance { readonly builder: BlobBuilder; count(count: int): LiteralsEncoder; } export const VectorEncoder: { new(builder: BlobBuilder): VectorEncoder$instance; }; export type VectorEncoder = VectorEncoder$instance; export interface ControlFlowBuilder$instance { addCatchRegion(tryStart: LabelHandle, tryEnd: LabelHandle, handlerStart: LabelHandle, handlerEnd: LabelHandle, catchType: EntityHandle): void; addFaultRegion(tryStart: LabelHandle, tryEnd: LabelHandle, handlerStart: LabelHandle, handlerEnd: LabelHandle): void; addFilterRegion(tryStart: LabelHandle, tryEnd: LabelHandle, handlerStart: LabelHandle, handlerEnd: LabelHandle, filterStart: LabelHandle): void; addFinallyRegion(tryStart: LabelHandle, tryEnd: LabelHandle, handlerStart: LabelHandle, handlerEnd: LabelHandle): void; clear(): void; } export const ControlFlowBuilder: { new(): ControlFlowBuilder$instance; }; export type ControlFlowBuilder = ControlFlowBuilder$instance; export interface MetadataAggregator$instance { getGenerationHandle(handle: Handle, generation: { value: ref<int> }): Handle; } export const MetadataAggregator: { new(baseReader: MetadataReader, deltaReaders: IReadOnlyList_1<MetadataReader>): MetadataAggregator$instance; new(baseTableRowCounts: IReadOnlyList_1<CLROf<int>>, baseHeapSizes: IReadOnlyList_1<CLROf<int>>, deltaReaders: IReadOnlyList_1<MetadataReader>): MetadataAggregator$instance; }; export type MetadataAggregator = MetadataAggregator$instance; export interface MetadataBuilder$instance { addAssembly(name: StringHandle, version: Version, culture: StringHandle, publicKey: BlobHandle, flags: AssemblyFlags, hashAlgorithm: AssemblyHashAlgorithm): AssemblyDefinitionHandle; addAssemblyFile(name: StringHandle, hashValue: BlobHandle, containsMetadata: boolean): AssemblyFileHandle; addAssemblyReference(name: StringHandle, version: Version, culture: StringHandle, publicKeyOrToken: BlobHandle, flags: AssemblyFlags, hashValue: BlobHandle): AssemblyReferenceHandle; addConstant(parent: EntityHandle, value: unknown): ConstantHandle; addCustomAttribute(parent: EntityHandle, constructor_: EntityHandle, value: BlobHandle): CustomAttributeHandle; addCustomDebugInformation(parent: EntityHandle, kind: GuidHandle, value: BlobHandle): CustomDebugInformationHandle; addDeclarativeSecurityAttribute(parent: EntityHandle, action: DeclarativeSecurityAction, permissionSet: BlobHandle): DeclarativeSecurityAttributeHandle; addDocument(name: BlobHandle, hashAlgorithm: GuidHandle, hash: BlobHandle, language: GuidHandle): DocumentHandle; addEncLogEntry(entity: EntityHandle, code: EditAndContinueOperation): void; addEncMapEntry(entity: EntityHandle): void; addEvent(attributes: EventAttributes, name: StringHandle, type_: EntityHandle): EventDefinitionHandle; addEventMap(declaringType: TypeDefinitionHandle, eventList: EventDefinitionHandle): void; addExportedType(attributes: TypeAttributes, namespace_: StringHandle, name: StringHandle, implementation: EntityHandle, typeDefinitionId: int): ExportedTypeHandle; addFieldDefinition(attributes: FieldAttributes, name: StringHandle, signature: BlobHandle): FieldDefinitionHandle; addFieldLayout(field: FieldDefinitionHandle, offset: int): void; addFieldRelativeVirtualAddress(field: FieldDefinitionHandle, offset: int): void; addGenericParameter(parent: EntityHandle, attributes: GenericParameterAttributes, name: StringHandle, index: int): GenericParameterHandle; addGenericParameterConstraint(genericParameter: GenericParameterHandle, constraint: EntityHandle): GenericParameterConstraintHandle; addImportScope(parentScope: ImportScopeHandle, imports: BlobHandle): ImportScopeHandle; addInterfaceImplementation(type_: TypeDefinitionHandle, implementedInterface: EntityHandle): InterfaceImplementationHandle; addLocalConstant(name: StringHandle, signature: BlobHandle): LocalConstantHandle; addLocalScope(method: MethodDefinitionHandle, importScope: ImportScopeHandle, variableList: LocalVariableHandle, constantList: LocalConstantHandle, startOffset: int, length: int): LocalScopeHandle; addLocalVariable(attributes: LocalVariableAttributes, index: int, name: StringHandle): LocalVariableHandle; addManifestResource(attributes: ManifestResourceAttributes, name: StringHandle, implementation: EntityHandle, offset: uint): ManifestResourceHandle; addMarshallingDescriptor(parent: EntityHandle, descriptor: BlobHandle): void; addMemberReference(parent: EntityHandle, name: StringHandle, signature: BlobHandle): MemberReferenceHandle; addMethodDebugInformation(document: DocumentHandle, sequencePoints: BlobHandle): MethodDebugInformationHandle; addMethodDefinition(attributes: MethodAttributes, implAttributes: MethodImplAttributes, name: StringHandle, signature: BlobHandle, bodyOffset: int, parameterList: ParameterHandle): MethodDefinitionHandle; addMethodImplementation(type_: TypeDefinitionHandle, methodBody: EntityHandle, methodDeclaration: EntityHandle): MethodImplementationHandle; addMethodImport(method: MethodDefinitionHandle, attributes: MethodImportAttributes, name: StringHandle, module_: ModuleReferenceHandle): void; addMethodSemantics(association: EntityHandle, semantics: MethodSemanticsAttributes, methodDefinition: MethodDefinitionHandle): void; addMethodSpecification(method: EntityHandle, instantiation: BlobHandle): MethodSpecificationHandle; addModule(generation: int, moduleName: StringHandle, mvid: GuidHandle, encId: GuidHandle, encBaseId: GuidHandle): ModuleDefinitionHandle; addModuleReference(moduleName: StringHandle): ModuleReferenceHandle; addNestedType(type_: TypeDefinitionHandle, enclosingType: TypeDefinitionHandle): void; addParameter(attributes: ParameterAttributes, name: StringHandle, sequenceNumber: int): ParameterHandle; addProperty(attributes: PropertyAttributes, name: StringHandle, signature: BlobHandle): PropertyDefinitionHandle; addPropertyMap(declaringType: TypeDefinitionHandle, propertyList: PropertyDefinitionHandle): void; addStandaloneSignature(signature: BlobHandle): StandaloneSignatureHandle; addStateMachineMethod(moveNextMethod: MethodDefinitionHandle, kickoffMethod: MethodDefinitionHandle): void; addTypeDefinition(attributes: TypeAttributes, namespace_: StringHandle, name: StringHandle, baseType: EntityHandle, fieldList: FieldDefinitionHandle, methodList: MethodDefinitionHandle): TypeDefinitionHandle; addTypeLayout(type_: TypeDefinitionHandle, packingSize: ushort, size: uint): void; addTypeReference(resolutionScope: EntityHandle, namespace_: StringHandle, name: StringHandle): TypeReferenceHandle; addTypeSpecification(signature: BlobHandle): TypeSpecificationHandle; getOrAddBlob(value: BlobBuilder): BlobHandle; getOrAddBlob(value: byte[]): BlobHandle; getOrAddBlob(value: ImmutableArray_1<CLROf<byte>>): BlobHandle; getOrAddBlobUTF16(value: string): BlobHandle; getOrAddBlobUTF8(value: string, allowUnpairedSurrogates?: boolean): BlobHandle; getOrAddConstantBlob(value: unknown): BlobHandle; getOrAddDocumentName(value: string): BlobHandle; getOrAddGuid(guid: Guid): GuidHandle; getOrAddString(value: string): StringHandle; getOrAddUserString(value: string): UserStringHandle; getRowCount(table: TableIndex): int; getRowCounts(): ImmutableArray_1<CLROf<int>>; reserveGuid(): ReservedBlob_1<GuidHandle>; reserveUserString(length: int): ReservedBlob_1<UserStringHandle>; setCapacity(table: TableIndex, rowCount: int): void; setCapacity(heap: HeapIndex, byteCount: int): void; } export const MetadataBuilder: { new(userStringHeapStartOffset: int, stringHeapStartOffset: int, blobHeapStartOffset: int, guidHeapStartOffset: int): MetadataBuilder$instance; }; export type MetadataBuilder = MetadataBuilder$instance; export interface MetadataRootBuilder$instance { readonly metadataVersion: string; readonly sizes: MetadataSizes; readonly suppressValidation: boolean; serialize(builder: BlobBuilder, methodBodyStreamRva: int, mappedFieldDataStreamRva: int): void; } export const MetadataRootBuilder: { new(tablesAndHeaps: MetadataBuilder, metadataVersion: string, suppressValidation: boolean): MetadataRootBuilder$instance; }; export type MetadataRootBuilder = MetadataRootBuilder$instance; export interface MetadataSizes$instance { readonly externalRowCounts: ImmutableArray_1<CLROf<int>>; readonly heapSizes: ImmutableArray_1<CLROf<int>>; readonly rowCounts: ImmutableArray_1<CLROf<int>>; getAlignedHeapSize(index: HeapIndex): int; } export const MetadataSizes: { new(): MetadataSizes$instance; }; export type MetadataSizes = MetadataSizes$instance; export interface PortablePdbBuilder$instance { readonly formatVersion: ushort; readonly idProvider: Func_2<IEnumerable_1<Blob>, BlobContentId>; readonly metadataVersion: string; serialize(builder: BlobBuilder): BlobContentId; } export const PortablePdbBuilder: { new(tablesAndHeaps: MetadataBuilder, typeSystemRowCounts: ImmutableArray_1<CLROf<int>>, entryPoint: MethodDefinitionHandle, idProvider: Func_2<IEnumerable_1<Blob>, BlobContentId>): PortablePdbBuilder$instance; }; export type PortablePdbBuilder = PortablePdbBuilder$instance; export abstract class CodedIndex$instance { static customAttributeType(handle: EntityHandle): int; static hasConstant(handle: EntityHandle): int; static hasCustomAttribute(handle: EntityHandle): int; static hasCustomDebugInformation(handle: EntityHandle): int; static hasDeclSecurity(handle: EntityHandle): int; static hasFieldMarshal(handle: EntityHandle): int; static hasSemantics(handle: EntityHandle): int; static implementation(handle: EntityHandle): int; static memberForwarded(handle: EntityHandle): int; static memberRefParent(handle: EntityHandle): int; static methodDefOrRef(handle: EntityHandle): int; static resolutionScope(handle: EntityHandle): int; static typeDefOrRef(handle: EntityHandle): int; static typeDefOrRefOrSpec(handle: EntityHandle): int; static typeOrMethodDef(handle: EntityHandle): int; } export type CodedIndex = CodedIndex$instance; export abstract class ExportedTypeExtensions$instance { static getTypeDefinitionId(exportedType: ExportedType): int; } export type ExportedTypeExtensions = ExportedTypeExtensions$instance; export abstract class MetadataReaderExtensions$instance { static getEditAndContinueLogEntries(reader: MetadataReader): IEnumerable_1<EditAndContinueLogEntry>; static getEditAndContinueMapEntries(reader: MetadataReader): IEnumerable_1<EntityHandle>; static getHeapMetadataOffset(reader: MetadataReader, heapIndex: HeapIndex): int; static getHeapSize(reader: MetadataReader, heapIndex: HeapIndex): int; static getNextHandle(reader: MetadataReader, handle: BlobHandle): BlobHandle; static getNextHandle(reader: MetadataReader, handle: StringHandle): StringHandle; static getNextHandle(reader: MetadataReader, handle: UserStringHandle): UserStringHandle; static getTableMetadataOffset(reader: MetadataReader, tableIndex: TableIndex): int; static getTableRowCount(reader: MetadataReader, tableIndex: TableIndex): int; static getTableRowSize(reader: MetadataReader, tableIndex: TableIndex): int; static getTypesWithEvents(reader: MetadataReader): IEnumerable_1<TypeDefinitionHandle>; static getTypesWithProperties(reader: MetadataReader): IEnumerable_1<TypeDefinitionHandle>; static resolveSignatureTypeKind(reader: MetadataReader, typeHandle: EntityHandle, rawTypeKind: byte): SignatureTypeKind; } export type MetadataReaderExtensions = MetadataReaderExtensions$instance; export abstract class MetadataTokens$instance { static readonly tableCount: int; static readonly heapCount: int; static assemblyFileHandle(rowNumber: int): AssemblyFileHandle; static assemblyReferenceHandle(rowNumber: int): AssemblyReferenceHandle; static blobHandle(offset: int): BlobHandle; static constantHandle(rowNumber: int): ConstantHandle; static customAttributeHandle(rowNumber: int): CustomAttributeHandle; static customDebugInformationHandle(rowNumber: int): CustomDebugInformationHandle; static declarativeSecurityAttributeHandle(rowNumber: int): DeclarativeSecurityAttributeHandle; static documentHandle(rowNumber: int): DocumentHandle; static documentNameBlobHandle(offset: int): DocumentNameBlobHandle; static entityHandle(token: int): EntityHandle; static entityHandle(tableIndex: TableIndex, rowNumber: int): EntityHandle; static eventDefinitionHandle(rowNumber: int): EventDefinitionHandle; static exportedTypeHandle(rowNumber: int): ExportedTypeHandle; static fieldDefinitionHandle(rowNumber: int): FieldDefinitionHandle; static genericParameterConstraintHandle(rowNumber: int): GenericParameterConstraintHandle; static genericParameterHandle(rowNumber: int): GenericParameterHandle; static getHeapOffset(handle: BlobHandle): int; static getHeapOffset(handle: GuidHandle): int; static getHeapOffset(handle: Handle): int; static getHeapOffset(reader: MetadataReader, handle: Handle): int; static getHeapOffset(handle: StringHandle): int; static getHeapOffset(handle: UserStringHandle): int; static getRowNumber(handle: EntityHandle): int; static getRowNumber(reader: MetadataReader, handle: EntityHandle): int; static getToken(handle: EntityHandle): int; static getToken(handle: Handle): int; static getToken(reader: MetadataReader, handle: EntityHandle): int; static getToken(reader: MetadataReader, handle: Handle): int; static guidHandle(offset: int): GuidHandle; static handle(token: int): Handle; static handle(tableIndex: TableIndex, rowNumber: int): EntityHandle; static importScopeHandle(rowNumber: int): ImportScopeHandle; static interfaceImplementationHandle(rowNumber: int): InterfaceImplementationHandle; static localConstantHandle(rowNumber: int): LocalConstantHandle; static localScopeHandle(rowNumber: int): LocalScopeHandle; static localVariableHandle(rowNumber: int): LocalVariableHandle; static manifestResourceHandle(rowNumber: int): ManifestResourceHandle; static memberReferenceHandle(rowNumber: int): MemberReferenceHandle; static methodDebugInformationHandle(rowNumber: int): MethodDebugInformationHandle; static methodDefinitionHandle(rowNumber: int): MethodDefinitionHandle; static methodImplementationHandle(rowNumber: int): MethodImplementationHandle; static methodSpecificationHandle(rowNumber: int): MethodSpecificationHandle; static moduleReferenceHandle(rowNumber: int): ModuleReferenceHandle; static parameterHandle(rowNumber: int): ParameterHandle; static propertyDefinitionHandle(rowNumber: int): PropertyDefinitionHandle; static standaloneSignatureHandle(rowNumber: int): StandaloneSignatureHandle; static stringHandle(offset: int): StringHandle; static tryGetHeapIndex(type_: HandleKind, index: { value: ref<HeapIndex> }): boolean; static tryGetTableIndex(type_: HandleKind, index: { value: ref<TableIndex> }): boolean; static typeDefinitionHandle(rowNumber: int): TypeDefinitionHandle; static typeReferenceHandle(rowNumber: int): TypeReferenceHandle; static typeSpecificationHandle(rowNumber: int): TypeSpecificationHandle; static userStringHandle(offset: int): UserStringHandle; } export type MetadataTokens = MetadataTokens$instance;