hunk.code_window: export interface INotificationCenterWidgetContainerProps {
     onUrlChange: (url: string) => void;
     onNotificationClick: (notification: IMessage) => void;
     onUnseenCountChanged: (unseenCount: number) => void;
   }
  
hunk.labels: keep keep add keep keep keep
hunk.after_edit:   onActionClick: (templateIdentifier: string, type: ButtonTypeEnum, message: IMessage) => void;
  
hunk.file_path: apps/widget/src/components/notification-center/NotificationCenterWidgetContainer.tsx
hunk.type: add
file: import { BuilderFieldOperator, BuilderFieldType, BuilderGroupValues } from '../../types/builder/builder.types';
  import { IMessageTemplate } from '../message-template';
  
  export interface INotificationTemplate {
    _id?: string;
    name: string;
    description?: string;
    _notificationGroupId: string;
    _parentId?: string;
    _environmentId: string;
    tags: string[];
    draft: boolean;
    active: boolean;
    createdAt?: string;
    updatedAt?: string;
    steps: INotificationTemplateStep[];
    triggers: INotificationTrigger[];
  }
  
  export enum TriggerTypeEnum {
    EVENT = 'event',
  }
  
  export interface INotificationTrigger {
    type: TriggerTypeEnum;
    identifier: string;
    variables: { name: string }[];
    subscriberVariables?: { name: string }[];
  }
  
  export interface INotificationTemplateStep {
    _id?: string;
    filters?: IMessageFilter[];
    _templateId?: string;
    _parentId?: string;
    template?: IMessageTemplate;
    active?: boolean;
  }
  
  export interface IMessageFilter {
    isNegated?: boolean;
    type: BuilderFieldType;
    value: BuilderGroupValues;
    children: {
      field: string;
      value: string;
      operator: BuilderFieldOperator;
    }[];
  }
  