import { Writer } from "../Ion"; import { PathElement, Value } from "./Value"; declare const Struct_base: { new (...args: any[]): { _ionType: import("../IonType").IonType; _ionAnnotations: string[]; _unsupportedOperation(functionName: string): never; getType(): import("../IonType").IonType; _setAnnotations(annotations: string[]): void; getAnnotations(): string[]; isNull(): boolean; booleanValue(): boolean | null; numberValue(): number | null; bigIntValue(): bigint | null; decimalValue(): import("../IonDecimal").Decimal | null; stringValue(): string | null; dateValue(): Date | null; timestampValue(): import("../IonTimestamp").Timestamp | null; uInt8ArrayValue(): Uint8Array | null; fieldNames(): string[]; fields(): [string, Value][]; allFields(): [string, Value[]][]; elements(): Value[]; get(...pathElements: (string | number)[]): Value | null; getAll(...pathElements: (string | number)[]): Value[] | null; as(ionValueType: import("./Value").Constructor): T_1; writeTo(writer: Writer): void; deleteField(name: string): boolean; _valueEquals(other: any, options?: { epsilon?: number | null | undefined; ignoreAnnotations?: boolean | undefined; ignoreTimestampPrecision?: boolean | undefined; onlyCompareIon?: boolean | undefined; coerceNumericType: boolean; }): boolean; equals(other: any, options?: { epsilon?: number | null | undefined; }): boolean; ionEquals(other: Value, options?: { epsilon?: number | null | undefined; ignoreAnnotations?: boolean | undefined; ignoreTimestampPrecision?: boolean | undefined; }): boolean; }; _getIonType(): import("../IonType").IonType; _fromJsValue(jsValue: any, annotations: string[]): Value; } & ObjectConstructor; export declare class Struct extends Struct_base { private _fields; constructor(fields: Iterable<[string, Value]> | Iterable<[string, Value[]]>, annotations?: string[]); get(...pathElements: PathElement[]): Value | null; getAll(...pathElements: PathElement[]): Value[] | null; fieldNames(): string[]; allFields(): [string, Value[]][]; fields(): [string, Value][]; elements(): Value[]; [Symbol.iterator](): IterableIterator<[string, Value]>; toString(): string; writeTo(writer: Writer): void; deleteField(name: string): boolean; toJSON(): any; static _fromJsValue(jsValue: any, annotations: string[]): Value; _valueEquals(other: any, options?: { epsilon?: number | null; ignoreAnnotations?: boolean; ignoreTimestampPrecision?: boolean; onlyCompareIon?: boolean; }): boolean; _ionValueEquals(child: Value[], expectedChild: Value[], options: any): boolean; } export {};