import { AsyncContext } from "../store/AsyncRowStore"; import { EntityDict, OperationResult } from "./Entity"; declare type ActionData = ED[T]['Update']['data'] | ED[T]['Remove']['data']; export interface BBWatcher { name: string; entity: T; filter: ED[T]['Selection']['filter'] | (() => ED[T]['Selection']['filter']); action: ED[T]['Operation']['action']; actionData: ActionData | (() => ActionData); } export interface WBWatcher> { name: string; entity: T; filter: ED[T]['Selection']['filter'] | (() => Promise); projection: ED[T]['Selection']['data'] | (() => Promise); fn: (context: Cxt, data: Partial[]) => Promise>; } export declare type Watcher> = BBWatcher | WBWatcher; export {};