/**
 * TheHive 5 Trigger Node - Version 1
 * Starts the workflow when TheHive events occur
 */


export interface TheHiveProjectTriggerV1Params {
/**
 * Events types
 * @default []
 */
    events?: Array<'*' | 'alert_create' | 'alert_delete' | 'alert_update' | 'case_create' | 'case_delete' | 'case_update' | 'comment_create' | 'comment_delete' | 'comment_update' | 'observable_create' | 'observable_delete' | 'observable_update' | 'page_create' | 'page_delete' | 'page_update' | 'task_create' | 'task_update' | 'log_create' | 'log_delete' | 'log_update'>;
/**
 * Filter any incoming events based on their fields
 * @default {}
 */
    filters?: {
        /** Values
     */
    values?: Array<{
      /** Field
       * @hint The field to filter on, supports dot notation
       */
      field?: string | Expression<string> | PlaceholderValue;
      /** Operator
       * @default equal
       */
      operator?: 'equal' | 'notEqual' | 'includes' | Expression<string>;
      /** Value
       */
      value?: string | Expression<string> | PlaceholderValue;
    }>;
  };
  options?: {
    /** Whether to output data with additional details and omit headers
     * @default false
     */
    outputOnlyData?: boolean | Expression<boolean>;
  };
}

interface TheHiveProjectTriggerV1NodeBase {
  type: 'n8n-nodes-base.theHiveProjectTrigger';
  version: 1;
  isTrigger: true;
}

export type TheHiveProjectTriggerV1ParamsNode = TheHiveProjectTriggerV1NodeBase & {
  config: NodeConfig<TheHiveProjectTriggerV1Params>;
};

export type TheHiveProjectTriggerV1Node = TheHiveProjectTriggerV1ParamsNode;