import { Viewer, Ent } from "../core/base"; import { Action, WriteOperation, Builder, Trigger, Observer, Changeset, Validator } from "./action"; export interface ActionOptions { existingEnt?: T | null; input?: {}; operation?: WriteOperation; } interface EntBuilder extends Builder { valid(): Promise; validX(): Promise; save(): Promise; saveX(): Promise; editedEnt(): Promise; editedEntX(): Promise; } export declare class BaseAction implements Action { viewer: Viewer; builderCtr: BuilderConstructor; builder: EntBuilder; private input; triggers: Trigger[]; observers: Observer[]; validators: Validator[]; getPrivacyPolicy(): import("../core/base").PrivacyPolicy; constructor(viewer: Viewer, builderCtr: BuilderConstructor, options?: ActionOptions | null); static createBuilder(viewer: Viewer, builderCtr: BuilderConstructor, options?: ActionOptions | null): Builder; static bulkAction(ent: T, builderCtr: BuilderConstructor, ...actions: Action[]): BaseAction; changeset(): Promise>; valid(): Promise; validX(): Promise; save(): Promise; saveX(): Promise; getInput(): {}; } interface BuilderConstructor { new (viewer: Viewer, operation: WriteOperation, action: Action, existingEnt?: T | null): EntBuilder; } export {};