import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js"; import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js"; import type { CmsModel, CmsModelUpdateInput } from "../../../types/index.js"; /** * Event payloads */ export interface ModelBeforeUpdateEventPayload { model: CmsModel; original: CmsModel; input: CmsModelUpdateInput; } export interface ModelAfterUpdateEventPayload { model: CmsModel; original: CmsModel; } export interface ModelUpdateErrorEventPayload { input: CmsModelUpdateInput; model: CmsModel; original: CmsModel; error: Error; } /** * ModelBeforeUpdateEvent - Published before updating a model */ export declare class ModelBeforeUpdateEvent extends DomainEvent { eventType: "Cms/Model/BeforeUpdate"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } /** Hook into model lifecycle before a model is updated. */ export declare const ModelBeforeUpdateEventHandler: import("@webiny/di").Abstraction>; export declare namespace ModelBeforeUpdateEventHandler { type Interface = IEventHandler; type Event = ModelBeforeUpdateEvent; } /** * ModelAfterUpdateEvent - Published after updating a model */ export declare class ModelAfterUpdateEvent extends DomainEvent { eventType: "Cms/Model/AfterUpdate"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } /** Hook into model lifecycle after a model is updated. */ export declare const ModelAfterUpdateEventHandler: import("@webiny/di").Abstraction>; export declare namespace ModelAfterUpdateEventHandler { type Interface = IEventHandler; type Event = ModelAfterUpdateEvent; } /** * ModelUpdateErrorEvent - Published when update fails */ export declare class ModelUpdateErrorEvent extends DomainEvent { eventType: "Cms/Model/UpdateError"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } export declare const ModelUpdateErrorEventHandler: import("@webiny/di").Abstraction>; export declare namespace ModelUpdateErrorEventHandler { type Interface = IEventHandler; type Event = ModelUpdateErrorEvent; }