export declare class ObjectBuilder = any> { protected _obj: T; private _reservedKeys; constructor(options: { objectName?: string; initialData?: Partial; }); /** * Stores metadata by wrapping the key with '__'. * These are excluded when calling toObject(false). */ reserve(key: string, value: any): this; add(key: K, value: V): ObjectBuilder>; /** * Updates an existing key. * If the value is an array, it appends; if it's an object, it merges. */ update(key: keyof T | ("__root__"), value: any): this; remove(key: keyof T | string): this; /** * Resets the object and metadata tracking. * Only __name__ survives. */ clear(): this; filter(...keys: K[]): Pick; get(key: K): T[K]; toObject(includeReserved?: boolean): Partial; has(key: keyof T): boolean; /** * Convert the current object into an array. * @example new ObjectBuilder({ * initialData: { * name: "John", * age: 20, * dob: "2012-02-13" * } * }).toArray() => [{name:"John"},{age: 20},{dob:"2012-02-13"}] * @returns object as a key value pair index of the array */ toArray(): Partial[]; private deepMerge; private isObject; } //# sourceMappingURL=ObjectBuilder.d.ts.map