import { ActionMiddlewareDisposer } from '../action/middleware'; import { AnyModel } from '../model/BaseModel'; /** * Creates a transaction middleware, which reverts changes made by an action / child * actions when the root action throws an exception by applying inverse patches. * * @template M Model * @param target Object with the root target model object (`model`) and root action name (`actionName`). * @returns The middleware disposer. */ export declare function transactionMiddleware(target: { model: M; actionName: keyof M; }): ActionMiddlewareDisposer; /** * Transaction middleware as a decorator. */ export declare function transaction(...args: any[]): void;