import { ID, Data, Ent, Viewer, EntConstructor, LoadEntOptions } from "../core/base"; import { AssocEdgeInputOptions, DataOperation } from "../core/ent"; import { SchemaInputType } from "../schema/schema"; import { Changeset, Executor } from "../action"; import { WriteOperation, Builder, Action } from "../action"; export interface OrchestratorOptions { viewer: Viewer; operation: WriteOperation; tableName: string; loaderOptions: LoadEntOptions; key: string; builder: Builder; action?: Action; schema: SchemaInputType; editedFields(): Map; } interface edgeInputDataOpts { edgeType: string; id: Builder | ID; nodeType?: string; options?: AssocEdgeInputOptions; } export interface EdgeInputData extends edgeInputDataOpts { isBuilder(id: Builder | ID): id is Builder; } export declare enum edgeDirection { inboundEdge = 0, outboundEdge = 1 } export declare class Orchestrator { private options; private edgeSet; private edges; private validatedFields; private logValues; private changesets; private dependencies; private fieldsToResolve; private mainOp; viewer: Viewer; constructor(options: OrchestratorOptions); private addEdge; addInboundEdge(id1: ID | Builder, edgeType: string, nodeType: string, options?: AssocEdgeInputOptions): void; addOutboundEdge(id2: ID | Builder, edgeType: string, nodeType: string, options?: AssocEdgeInputOptions): void; removeInboundEdge(id1: ID, edgeType: string): void; removeOutboundEdge(id2: ID, edgeType: string): void; getInputEdges(edgeType: string, op: WriteOperation): EdgeInputData[]; clearInputEdges(edgeType: string, op: WriteOperation, id?: ID): void; private buildMainOp; private getEdgeOperation; private buildEdgeOps; private throwError; private validate; private triggers; private validators; private isBuilder; private validateFields; valid(): Promise; validX(): Promise; build(): Promise>; private viewerForEntLoad; returnedRow(): Promise; editedEnt(): Promise; editedEntX(): Promise; } export declare class EntChangeset implements Changeset { viewer: Viewer; readonly placeholderID: ID; readonly ent: EntConstructor; operations: DataOperation[]; dependencies?: Map> | undefined; changesets?: Changeset[] | undefined; private options?; constructor(viewer: Viewer, placeholderID: ID, ent: EntConstructor, operations: DataOperation[], dependencies?: Map> | undefined, changesets?: Changeset[] | undefined, options?: OrchestratorOptions | undefined); executor(): Executor; } export {};