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


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

export type ServiceNowV1IncidentUpdateParams = {
  resource: 'incident';
  operation: 'update';
/**
 * Authentication method to use
 * @default oAuth2
 */
    authentication?: 'basicAuth' | 'oAuth2' | Expression<string>;
/**
 * Unique identifier of the incident
 */
    id?: string | Expression<string> | PlaceholderValue;
/**
 * Update Fields
 * @default {}
 */
    updateFields?: {
    /** 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 on hold reason for the incident. It applies if the state is &lt;code&gt;On Hold&lt;/code&gt;. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    hold_reason?: 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>;
    /** Work notes for the incident
     */
    work_notes?: string | Expression<string> | PlaceholderValue;
  };
};

export type ServiceNowV1IncidentUpdateNode = {
  type: 'n8n-nodes-base.serviceNow';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<ServiceNowV1IncidentUpdateParams>;
};