import { process } from 'gremlin'; import { NonEmpty } from './NonEmpty'; import IdStep from './IdStep'; import StringStep from './StringStep'; import { ANY_PROPERTY, Id, ID, LABEL, PrimitiveType, Properties, PropertiesDefinition, PropertiesForOutput, PropertyDefinition } from './PropertiesDefinition'; import { AnyProperties, NO_PROPERTY, ObjectStep } from './ObjectStep'; import { PropertyValueStep } from './PropertyValueStep'; declare type GraphTraversal = process.GraphTraversal; export declare type Update = Partial, typeof ANY_PROPERTY>> & AnyProperties & { [ID]?: never; [LABEL]?: never; }; export declare type Insert = Omit, typeof ANY_PROPERTY> & AnyProperties & { [ID]?: Id; [LABEL]?: never; }; export declare abstract class Element extends ObjectStep { protected constructor(q: GraphTraversal, properties: D); fetchOne(): Promise>; fetchAll(): Promise[]>; id(): IdStep; label(): StringStep; byId(ids: NonEmpty): this; update(properties: Update): this; protected createPropertyValueStep

(propertyDefinition: P, requestedProperty: string): PropertyValueStep

; protected queryFindDoesNotHaveProperty(key: string): void; protected queryFindHasPropertyValue(key: string | typeof ID, value: PrimitiveType | process.P): void; protected queryValueObj(keys: string[], _includeId: boolean, _includeLabel: boolean): void; protected querySetProperties(properties: Insert | Update, dropOnNoProperty: boolean): this; protected abstract querySetProperty(property: K, value: unknown): void; } export {};