import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js"; import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js"; import type { CmsModel, CmsModelCreateInput } from "../../../types/index.js"; /** * Event payloads */ export interface ModelBeforeCreateEventPayload { model: CmsModel; input: CmsModelCreateInput; } export interface ModelAfterCreateEventPayload { model: CmsModel; } export interface ModelCreateErrorEventPayload { input: CmsModelCreateInput; model: CmsModel; error: Error; } /** * ModelBeforeCreateEvent - Published before creating a model */ export declare class ModelBeforeCreateEvent extends DomainEvent { eventType: "Cms/Model/BeforeCreate"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } /** Hook into model lifecycle before a model is created. */ export declare const ModelBeforeCreateEventHandler: import("@webiny/di").Abstraction>; export declare namespace ModelBeforeCreateEventHandler { type Interface = IEventHandler; type Event = ModelBeforeCreateEvent; } /** * ModelAfterCreateEvent - Published after creating a model */ export declare class ModelAfterCreateEvent extends DomainEvent { eventType: "Cms/Model/AfterCreate"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } /** Hook into model lifecycle after a model is created. */ export declare const ModelAfterCreateEventHandler: import("@webiny/di").Abstraction>; export declare namespace ModelAfterCreateEventHandler { type Interface = IEventHandler; type Event = ModelAfterCreateEvent; } /** * ModelCreateErrorEvent - Published when create fails */ export declare class ModelCreateErrorEvent extends DomainEvent { eventType: "Cms/Model/CreateError"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } export declare const ModelCreateErrorEventHandler: import("@webiny/di").Abstraction>; export declare namespace ModelCreateErrorEventHandler { type Interface = IEventHandler; type Event = ModelCreateErrorEvent; }