/**
 * PagerDuty Node - Version 1
 * Discriminator: resource=incident, operation=getAll
 */


interface Credentials {
  pagerDutyApi: CredentialReference;
  pagerDutyOAuth2Api: CredentialReference;
}

/** Get many incidents */
export type PagerDutyV1IncidentGetAllParams = {
  resource: 'incident';
  operation: 'getAll';
  authentication?: 'apiToken' | 'oAuth2' | Expression<string>;
/**
 * Whether to return all results or only up to a given limit
 * @default false
 */
    returnAll?: boolean | Expression<boolean>;
/**
 * Max number of results to return
 * @displayOptions.show { returnAll: [false] }
 * @default 100
 */
    limit?: number | Expression<number>;
/**
 * Options
 * @default {}
 */
    options?: {
    /** When set to all, the since and until parameters and defaults are ignored
     */
    dateRange?: 'all' | Expression<string>;
    /** Incident de-duplication key. Incidents with child alerts do not have an incident key; querying by incident key will return incidents whose alerts have alert_key matching the given incident key.
     */
    incidentKey?: string | Expression<string> | PlaceholderValue;
    /** Additional details to include
     * @default []
     */
    include?: Array<'acknowledgers' | 'assignees' | 'conferenceBridge' | 'escalationPolicies' | 'firstTriggerLogEntries' | 'priorities' | 'services' | 'teams' | 'users'>;
    /** Returns only the incidents associated with the passed service(s). Choose from the list, or specify IDs using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     * @default []
     */
    serviceIds?: string[];
    /** The start of the date range over which you want to search. (the limit on date ranges is 6 months).
     */
    since?: string | Expression<string>;
    /** Used to specify both the field you wish to sort the results on (incident_number/created_at/resolved_at/urgency), as well as the direction (asc/desc) of the results. The sort_by field and direction should be separated by a colon. A maximum of two fields can be included, separated by a comma.
     */
    sortBy?: string | Expression<string> | PlaceholderValue;
    /** Returns only the incidents associated with the passed service(s)
     * @default []
     */
    statuses?: Array<'acknowledged' | 'resolved' | 'triggered'>;
    /** Team IDs. Only results related to these teams will be returned. Account must have the teams ability to use this parameter. (multiples IDs can be added separated by comma)
     */
    teamIds?: string | Expression<string> | PlaceholderValue;
    /** Time zone in which dates in the result will be rendered. If not set dates will return UTC. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
     */
    timeZone?: string | Expression<string>;
    /** The end of the date range over which you want to search. (the limit on date ranges is 6 months).
     */
    until?: string | Expression<string>;
    /** Urgencies of the incidents to be returned. Defaults to all urgencies. Account must have the urgencies ability to do this
     * @default []
     */
    urgencies?: Array<'high' | 'low'>;
    /** Returns only the incidents currently assigned to the passed user(s). This expects one or more user IDs (multiple IDs can be added separated by comma).
     */
    userIds?: string | Expression<string> | PlaceholderValue;
  };
};

export type PagerDutyV1IncidentGetAllNode = {
  type: 'n8n-nodes-base.pagerDuty';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<PagerDutyV1IncidentGetAllParams>;
};