import { QueryNode } from './base'; /** * A node that evaluates in a JSON-like object structure with properties and values */ export declare class ObjectQueryNode extends QueryNode { readonly properties: ReadonlyArray; constructor(properties: ReadonlyArray); /** * An empty object */ static EMPTY: ObjectQueryNode; describe(): string; } /** * Specifies one property of a an ObjectQueryNode */ export declare class PropertySpecification extends QueryNode { readonly propertyName: string; readonly valueNode: QueryNode; constructor(propertyName: string, valueNode: QueryNode); describe(): string; } /** * A node that that merges the properties of multiple nodes. If multiple objects define the same property, the last one * will win. Set properties to null to remove them. * * This operation behaves like the {...objectSpread} operator in JavaScript, or the MERGE function in AQL. * * The merge is NOT recursive. */ export declare class MergeObjectsQueryNode extends QueryNode { readonly objectNodes: ReadonlyArray; constructor(objectNodes: ReadonlyArray); describe(): string; } /** * A node that evaluates to the entries of all properties of an object (each as a two-item list with key and value). * * For non-object values, this evaluates to the empty list */ export declare class ObjectEntriesQueryNode extends QueryNode { readonly objectNode: QueryNode; constructor(objectNode: QueryNode); describe(): string; }