import type { UnbatchedExecutionExtra } from "../interfaces.ts"; import type { Step } from "../step.ts"; import { UnbatchedStep } from "../step.ts"; /** * Accesses a (potentially nested) property from the result of a plan. * * NOTE: this could lead to unexpected results (which could introduce security * issues) if it is not used carefully; only use it on JSON-like data, * preferably where the objects have null prototypes, and be sure to adhere to * the naming conventions detailed in assertSafeToAccessViaBraces. */ export declare class AccessStep extends UnbatchedStep { static $$export: { moduleName: string; exportName: string; }; isSyncAndSafe: boolean; allowMultipleOptimizations: boolean; readonly path: (string | number | symbol)[]; private readonly hasSymbols; readonly fallback?: any; constructor(parentPlan: Step, path: (string | number | symbol)[], fallback?: any); toStringMeta(): string; getParentStep(): Step | import("./__flag.ts").__FlagStep>; __inferGet?: { [TAttr in keyof TData]: AccessStep; }; /** * Get the named property of an object. */ get(attrName: TAttr): AccessStep; /** * Get the entry at the given index in an array. */ at(index: TIndex): AccessStep; optimize(): Step; finalize(): void; unbatchedExecute(_extra: UnbatchedExecutionExtra, ..._values: any[]): any; deduplicate(peers: AccessStep[]): AccessStep[]; } /** * Access the property at path `path` in the value returned from `parentPlan`, * falling back to `fallback` if it were null-ish. */ export declare function access, TFallback = undefined>(parentPlan: Step, key: TKey, fallback?: TFallback): AccessStep[TKey], null | undefined> | (TData extends Exclude ? TData[TKey] extends Exclude ? never : TFallback : TFallback)>; export declare function access(parentPlan: Step, rawPath?: (string | number | symbol)[] | string | number | symbol, fallback?: any): AccessStep; //# sourceMappingURL=access.d.ts.map