/**
 * ServiceNow Node - Version 1
 * Discriminator: resource=user, operation=get
 */


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

/** Get an attachment */
export type ServiceNowV1UserGetParams = {
  resource: 'user';
  operation: 'get';
/**
 * Authentication method to use
 * @default oAuth2
 */
    authentication?: 'basicAuth' | 'oAuth2' | Expression<string>;
/**
 * Unique identifier of the user
 * @default id
 */
    getOption?: 'id' | 'user_name' | Expression<string>;
/**
 * Unique identifier of the user
 * @displayOptions.show { getOption: ["user_name"] }
 */
    user_name?: string | Expression<string> | PlaceholderValue;
/**
 * Unique identifier of the user
 * @displayOptions.show { getOption: ["id"] }
 */
    id?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Whether to exclude Table API links for reference fields
     * @default false
     */
    sysparm_exclude_reference_link?: boolean | Expression<boolean>;
    /** A list of fields to return. Choose from the list, or specify IDs using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     * @hint String of comma separated values or an array of strings can be set in an expression
     * @default []
     */
    sysparm_fields?: string[];
    /** Choose which values to return
     * @default false
     */
    sysparm_display_value?: 'false' | 'all' | 'true' | Expression<string>;
  };
};

export type ServiceNowV1UserGetOutput = {
  sys_domain?: {
    link?: string;
    value?: string;
  };
};

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