import { TargetTypeContextDescriptor, TargetProtocolDescriptor, TargetMetadata } from "../abi/metadata.js"; export interface ProtocolConformance { /** * An externally-defined protocol that's imported as a weak symbol (e.g. for backward compatibility) might be * undefined on some systems. This field will be null in that case to reflect that fact. */ protocol: TargetProtocolDescriptor | null; witnessTable: NativePointer; } export interface ProtocolConformanceMap { [protoName: string]: ProtocolConformance; } interface FullTypeData { descriptor: TargetTypeContextDescriptor; metadata?: TargetMetadata; conformances: ProtocolConformanceMap; } interface TypeDataConstructor { new (handle: NativePointer): T; } export declare function getAllFullTypeData(): FullTypeData[]; export declare function untypedMetadataFor(typeName: string): TargetMetadata; export declare function metadataFor(typeName: string, c: TypeDataConstructor): T; export declare function getProtocolConformancesFor(typeName: string): ProtocolConformanceMap; export declare function getAllProtocolDescriptors(): TargetProtocolDescriptor[]; export declare function findProtocolDescriptor(protoName: string): TargetProtocolDescriptor; export declare function getProtocolDescriptor(protoName: string): TargetProtocolDescriptor; export declare function findDemangledSymbol(address: NativePointer): string; export declare function getDemangledSymbol(address: NativePointer): string; export {};