import { ID, Ent, Viewer, EntConstructor, Context } from "../core/base"; import { DataOperation } from "../core/ent"; import { Changeset, Executor } from "../action"; import { Builder } from "../action"; import { OrchestratorOptions } from "./orchestrator"; import { Queryer } from "../core/db"; export declare class ListBasedExecutor implements Executor { private viewer; placeholderID: ID; private ent; private operations; private options?; private idx; constructor(viewer: Viewer, placeholderID: ID, ent: EntConstructor, operations: DataOperation[], options?: OrchestratorOptions | undefined); private lastOp; private createdEnt; resolveValue(val: ID): Ent | null; [Symbol.iterator](): this; next(): IteratorResult; executeObservers(): Promise; execute(): Promise; preFetch?(queryer: Queryer, context: Context): Promise; postFetch?(queryer: Queryer, context: Context): Promise; } export declare class ComplexExecutor implements Executor { private viewer; placeholderID: ID; private ent; private options?; private idx; private mapper; private lastOp; private allOperations; private changesetMap; private nodeOpMap; private executors; constructor(viewer: Viewer, placeholderID: ID, ent: EntConstructor, operations: DataOperation[], dependencies: Map>, changesets: Changeset[], options?: OrchestratorOptions | undefined); [Symbol.iterator](): this; private handleCreatedEnt; next(): IteratorResult; resolveValue(val: ID): Ent | null; executeObservers(): Promise; execute(): Promise; preFetch?(queryer: Queryer, context: Context): Promise; postFetch?(queryer: Queryer, context: Context): Promise; } export declare function executeOperations(executor: Executor, context?: Context, trackOps?: true): Promise;