/**
 * ServiceNow Node - Version 1
 * Discriminator: resource=incident, operation=create
 */


interface Credentials {
  serviceNowOAuth2Api: CredentialReference;
  serviceNowBasicApi: CredentialReference;
}

export type ServiceNowV1IncidentCreateParams = {
  resource: 'incident';
  operation: 'create';
/**
 * Authentication method to use
 * @default oAuth2
 */
    authentication?: 'basicAuth' | 'oAuth2' | Expression<string>;
/**
 * Short description of the incident
 */
    short_description?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** Which user is the incident assigned to. Requires the selection of an assignment group. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    assigned_to?: string | Expression<string>;
    /** The assignment group of the incident. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    assignment_group?: string | Expression<string>;
    /** Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
     */
    business_service?: string | Expression<string>;
    /** The unique identifier of the caller of the incident
     */
    caller_id?: string | Expression<string> | PlaceholderValue;
    /** The category of the incident. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    category?: string | Expression<string>;
    /** The close notes for the incident
     */
    close_notes?: string | Expression<string> | PlaceholderValue;
    /** Configuration Items, 'cmdb_ci' in metadata. Choose from the list, or specify IDs using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     * @default []
     */
    cmdb_ci?: string[];
    /** Contact Type
     */
    contact_type?: 'email' | 'phone' | 'self-service' | 'walk-in' | Expression<string>;
    /** The description of the incident
     */
    description?: string | Expression<string> | PlaceholderValue;
    /** The impact of the incident
     * @default 1
     */
    impact?: 3 | 2 | 1 | Expression<number>;
    /** The resolution code of the incident, 'close_code' in metadata. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    close_code?: string | Expression<string>;
    /** The state of the incident. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    state?: string | Expression<string>;
    /** The subcategory of the incident. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    subcategory?: string | Expression<string>;
    /** The urgency of the incident
     * @default 1
     */
    urgency?: 3 | 2 | 1 | Expression<number>;
  };
};

export type ServiceNowV1IncidentCreateOutput = {
  action_status?: string;
  actions_taken?: string;
  active?: string;
  activity_due?: string;
  additional_assignee_list?: string;
  approval?: string;
  approval_history?: string;
  approval_set?: string;
  business_duration?: string;
  business_impact?: string;
  business_service?: string;
  business_stc?: string;
  calendar_duration?: string;
  calendar_stc?: string;
  category?: string;
  cause?: string;
  caused_by?: string;
  child_incidents?: string;
  close_code?: string;
  close_notes?: string;
  closed_at?: string;
  closed_by?: string;
  cmdb_ci?: string;
  comments?: string;
  comments_and_work_notes?: string;
  contact_type?: string;
  contract?: string;
  correlation_display?: string;
  correlation_id?: string;
  delivery_plan?: string;
  delivery_task?: string;
  description?: string;
  due_date?: string;
  escalation?: string;
  expected_start?: string;
  follow_up?: string;
  group_list?: string;
  hold_reason?: string;
  impact?: string;
  incident_state?: string;
  knowledge?: string;
  lessons_learned?: string;
  location?: string;
  made_sla?: string;
  major_incident_state?: string;
  needs_attention?: string;
  notify?: string;
  number?: string;
  opened_at?: string;
  opened_by?: {
    link?: string;
    value?: string;
  };
  order?: string;
  origin_id?: string;
  origin_table?: string;
  overview?: string;
  parent?: string;
  parent_incident?: string;
  priority?: string;
  problem_id?: string;
  promoted_by?: string;
  promoted_on?: string;
  proposed_by?: string;
  proposed_on?: string;
  reassignment_count?: string;
  reopen_count?: string;
  reopened_by?: string;
  reopened_time?: string;
  resolved_at?: string;
  rfc?: string;
  route_reason?: string;
  service_offering?: string;
  severity?: string;
  short_description?: string;
  skills?: string;
  sla_due?: string;
  state?: string;
  subcategory?: string;
  sys_class_name?: string;
  sys_created_by?: string;
  sys_created_on?: string;
  sys_domain?: {
    link?: string;
    value?: string;
  };
  sys_domain_path?: string;
  sys_id?: string;
  sys_mod_count?: string;
  sys_tags?: string;
  sys_updated_by?: string;
  sys_updated_on?: string;
  task_effective_number?: string;
  task_for?: {
    link?: string;
    value?: string;
  };
  time_worked?: string;
  timeline?: string;
  trigger_rule?: string;
  universal_request?: string;
  upon_approval?: string;
  upon_reject?: string;
  urgency?: string;
  user_input?: string;
  watch_list?: string;
  work_end?: string;
  work_notes?: string;
  work_notes_list?: string;
  work_start?: string;
  x_caci_sg_meraki_device_alert?: string;
};

export type ServiceNowV1IncidentCreateNode = {
  type: 'n8n-nodes-base.serviceNow';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<ServiceNowV1IncidentCreateParams>;
  output?: Items<ServiceNowV1IncidentCreateOutput>;
};