import { Data } from './Data.js'; import { DecodedType, Decoder } from './Decoder.js'; import { EncodeContext } from './EncodeContext.js'; export declare function addIndexField(field: string | undefined, index: number): string; export declare function addPropertyField(field: string | undefined, property: string): string; export declare function addToField(field: string | undefined, b: string | number): string; export declare class ObjectData implements Data { data: any; currentField: string; context: EncodeContext; constructor(data: any, context: EncodeContext, currentField?: string); addToCurrentField(field: string | number): string; get value(): any; get string(): string; get number(): number; get integer(): number; get boolean(): boolean; equals(value: T): T; /** * Request an item at a given index. Expects a defined, non null value * @param number index */ index(number: number): Data; /** * Expects an optional field that could be null. Always returns undefined if the field is null or undefined. */ optionalField(field: string): Data | undefined; /** * Expects an optional field that could be null. Returns Data if the field value is null or not undefined */ undefinedField(field: string): Data | undefined; /** * Expects an existing field that is defined and not null */ field(field: string): Data; array(decoder: Decoder): T[]; decode>(decoder: D): DecodedType; nullable(decoder: Decoder): T | null; enum(e: E): E[keyof E]; clone(set: { data: any; context: EncodeContext; field: string; }): ObjectData; } //# sourceMappingURL=ObjectData.d.ts.map