import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js"; import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js"; import type { CmsGroup, CmsGroupUpdateInput } from "../../../types/index.js"; /** * Event payloads */ export interface GroupBeforeUpdateEventPayload { original: CmsGroup; group: CmsGroup; } export interface GroupAfterUpdateEventPayload { original: CmsGroup; group: CmsGroup; } export interface GroupUpdateErrorEventPayload { input: CmsGroupUpdateInput; original: CmsGroup; group: CmsGroup; error: Error; } /** * GroupBeforeUpdateEvent - Published before updating a group */ export declare class GroupBeforeUpdateEvent extends DomainEvent { eventType: "Cms/Group/BeforeUpdate"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } /** Hook into group lifecycle before a group is updated. */ export declare const GroupBeforeUpdateEventHandler: import("@webiny/di").Abstraction>; export declare namespace GroupBeforeUpdateEventHandler { type Interface = IEventHandler; type Event = GroupBeforeUpdateEvent; } /** * GroupAfterUpdateEvent - Published after updating a group */ export declare class GroupAfterUpdateEvent extends DomainEvent { eventType: "Cms/Group/AfterUpdate"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } /** Hook into group lifecycle after a group is updated. */ export declare const GroupAfterUpdateEventHandler: import("@webiny/di").Abstraction>; export declare namespace GroupAfterUpdateEventHandler { type Interface = IEventHandler; type Event = GroupAfterUpdateEvent; } /** * GroupUpdateErrorEvent - Published when update fails */ export declare class GroupUpdateErrorEvent extends DomainEvent { eventType: "Cms/Group/UpdateError"; getHandlerAbstraction(): import("@webiny/di").Abstraction>; } export declare const GroupUpdateErrorEventHandler: import("@webiny/di").Abstraction>; export declare namespace GroupUpdateErrorEventHandler { type Interface = IEventHandler; type Event = GroupUpdateErrorEvent; }