import { OpaqueValue, TargetMetadata, TargetValueBuffer } from "../abi/metadata.js"; export declare class TargetOpaqueExistentialContainer { #private; readonly handle: NativePointer; private numWitnessTables; static readonly INITIAL_SIZE: number; static readonly OFFSETOF: { buffer: number; type: number; wintessTable: number; }; private constructor(); static alloc(numWitnessTables: number): TargetOpaqueExistentialContainer; static makeFromRaw(handle: NativePointer, numWitnessTables: number): TargetOpaqueExistentialContainer; set type(metadata: TargetMetadata); get buffer(): TargetValueBuffer; get type(): TargetMetadata; getWitnessTables(): NativePointer; isValueInline(): boolean; projectValue(): OpaqueValue; get sizeof(): number; } export declare class ClassExistentialContainer { #private; readonly handle: NativePointer; private numWitnessTables; static readonly INITIAL_SIZE: number; static readonly OFFSETOF: { value: number; witnessTables: number; }; constructor(handle: NativePointer, numWitnessTables: number); static alloc(numWitnessTables: number): ClassExistentialContainer; static makeFromRaw(handle: NativePointer, numWitnessTables: number): ClassExistentialContainer; get value(): NativePointer; set value(newValue: NativePointer); getWitnessTables(): NativePointer; get sizeof(): number; }