import { EntityDict, OperateOption, SelectOption } from "../types/Entity"; import { EntityDict as BaseEntityDict } from '../base-app-domain'; import { Logger } from "../types/Logger"; import { Checker, CheckerType } from '../types/Auth'; import { Trigger } from "../types/Trigger"; import { AsyncContext } from './AsyncRowStore'; /** * update可能会传入多种不同的action,此时都需要检查update trigger */ export declare class TriggerExecutor { private counter; private triggerMap; private triggerNameMap; private volatileEntities; private logger; private contextBuilder; constructor(contextBuilder: (cxtString: string) => Promise>, logger?: Logger); registerChecker>(checker: Checker): void; getCheckers(entity: T, action: ED[T]['Action'], checkerTypes?: CheckerType[]): Trigger>[] | undefined; registerTrigger>(trigger: Trigger): void; unregisterTrigger>(trigger: Trigger): void; private preCommitTrigger; preOperation>(entity: T, operation: ED[T]['Operation'] | ED[T]['Selection'] & { action: 'select'; }, context: Cxt, option: OperateOption | SelectOption): Promise | void; private onCommit; private postCommitTrigger; postOperation>(entity: T, operation: ED[T]['Operation'] | ED[T]['Selection'] & { action: 'select'; }, context: Cxt, option: OperateOption | SelectOption, result?: Partial[]): Promise | void; checkpoint>(context: Cxt, timestamp: number): Promise; }