import type { GraphQLInputObjectType, GraphQLInputType, VariableDefinitionNode } from "graphql"; import { GraphQLList, GraphQLNonNull } from "graphql"; import type { Constraint } from "../constraints.ts"; import type { ExecutionDetails, GrafastResultsList, UnbatchedExecutionExtra } from "../interfaces.ts"; import { UnbatchedStep } from "../step.ts"; import type { __ValueStep } from "./__value.ts"; import type { AccessStep } from "./access.ts"; /** * Implements the `__TrackedValueStep(operationPlan, object, constraints, path)` * algorithm used to allow runtime AND plan-time access to the three special * entities: `variableValues`, `rootValue` and `context`. * * ExecutableStep-time access can evaluate the `object` passed to the constructor, and * will add constraints to the relevant operationPlan.variableValuesConstraints, * operationPlan.rootValueConstraints or operationPlan.contextConstraints to * ensure that all future variableValues, rootValues and context will match the * assumptions made. * * Run-time access will see the runtime values of these properties, it will * **NOT** reference the `object` passed to the constructor. * * In core this will be used for evaluating `@skip`, `@include`, `@defer` and * `@stream` directives so that a different OpPlan will be used if these would * change the query plan, but it can also be used within plan resolvers to * branch the logic of a plan based on something in these entities. */ export declare class __TrackedValueStep | undefined = undefined> extends UnbatchedStep { static $$export: { moduleName: string; exportName: string; }; isSyncAndSafe: boolean; /** * The value that was seen during planning, for us to use during eval (and * add constraints on). DO NOT USE IN USER CODE because it will not * necessarily reflect the values that should be used at runtime. */ private readonly _initialValue; /** * The path that we are through the original value (the one that * `constraints` relates to). */ private readonly path; static withGraphQLType(value: TData | undefined, valuePlan: __ValueStep | AccessStep, constraints: Constraint[], path: Array | undefined, graphqlType: TInputType): __TrackedValueStepWithDollars; private nullableGraphQLType; private variableDefinitions; execute({ count, values: [values0], }: ExecutionDetails<[TData]>): GrafastResultsList; unbatchedExecute(_extra: UnbatchedExecutionExtra, v: TData): TData; private getValuePlan; __inferGet?: { [TAttribute in keyof TData & string]: __TrackedValueStepWithDollars[TAttribute]["type"] : undefined>; }; /** * Get the named property of an object. */ get(attrName: TAttribute): __TrackedValueStepWithDollars[TAttribute]["type"] : undefined>; private _get; /** * Get the entry at the given index in an array. */ at(index: TIndex): __TrackedValueStepWithDollars ? U & GraphQLInputType : TInputType extends GraphQLNonNull> ? U & GraphQLInputType : undefined>; private _at; optimize(): import("../step.ts").Step | import("./__flag.ts").__FlagStep>; } export type __TrackedValueStepWithDollars = __TrackedValueStep & (TInputType extends GraphQLInputObjectType ? { [key in keyof ReturnType & string as `$${key}`]: __TrackedValueStepWithDollars[key]["type"]>; } : Record); //# sourceMappingURL=__trackedValue.d.ts.map