import Step, { ExtractStepValue } from './Step'; import { process } from 'gremlin'; declare type Statics = process.Statics; declare type GraphTraversal = process.GraphTraversal; export default class MapStep, ValueStep extends Step, OutputType, Deserializer extends (raw: unknown, keyStep: KeyStep, valueStep: ValueStep) => OutputType, KeyType = ExtractStepValue, ValueType = ExtractStepValue> extends Step { protected readonly keyStep: KeyStep; protected readonly valueStep: ValueStep; protected readonly deserializer: Deserializer; static groupBy, V extends Step, O, D extends (raw: unknown, keyStep: K, valueStep: V) => O, KT = ExtractStepValue, VT = ExtractStepValue>(q: GraphTraversal | Statics, keyStep: K, valueStep: V, deserializer: D): MapStep; constructor(q: GraphTraversal, keyStep: KeyStep, valueStep: ValueStep, deserializer: Deserializer); deserialize(v: unknown): OutputType; mapDeserializer(v: unknown, keyStep: KeyStep, valueStep: ValueStep): Map; objDeserializer(v: unknown, keyStep: KeyStep, valueStep: ValueStep): { [k: string]: ValueType; }; createContinuation(g: GraphTraversal): this; } export {};