/**
 * Sentry.io Node - Version 1
 * Discriminator: resource=issue, operation=getAll
 */


interface Credentials {
  sentryIoOAuth2Api: CredentialReference;
  sentryIoApi: CredentialReference;
  sentryIoServerApi: CredentialReference;
}

/** Get many events */
export type SentryIoV1IssueGetAllParams = {
  resource: 'issue';
  operation: 'getAll';
  authentication?: 'accessToken' | 'oAuth2' | 'accessTokenServer' | Expression<string>;
/**
 * The slug of the organization the issues belong to. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 */
    organizationSlug?: string | Expression<string>;
/**
 * The slug of the project the issues belong to. Choose from the list, or specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 */
    projectSlug?: string | 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>;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** An optional Sentry structured search query. If not provided, an implied "is:unresolved" is assumed. Info &lt;a href="https://docs.sentry.io/product/sentry-basics/search/"&gt;here&lt;/a&gt;.
     */
    query?: string | Expression<string> | PlaceholderValue;
    /** Time period of stats
     */
    statsPeriod?: '14d' | '24h' | Expression<string>;
    /** Whether short IDs are looked up by this function as well. This can cause the return value of the function to return an event issue of a different project which is why this is an opt-in.
     * @default true
     */
    shortIdLookUp?: boolean | Expression<boolean>;
  };
};

export type SentryIoV1IssueGetAllOutput = {
  count?: string;
  culprit?: string;
  firstSeen?: string;
  hasSeen?: boolean;
  id?: string;
  isBookmarked?: boolean;
  isPublic?: boolean;
  isSubscribed?: boolean;
  issueCategory?: string;
  issueType?: string;
  isUnhandled?: boolean;
  lastSeen?: string;
  level?: string;
  metadata?: {
    filename?: string;
    'function'?: string;
    in_app_frame_mix?: string;
    initial_priority?: number;
    sdk?: {
      name?: string;
      name_normalized?: string;
    };
    severity_reason?: string;
    type?: string;
    value?: string;
  };
  numComments?: number;
  permalink?: string;
  platform?: string;
  priority?: string;
  project?: {
    id?: string;
    name?: string;
    platform?: string;
    slug?: string;
  };
  shareId?: null;
  shortId?: string;
  stats?: {
    '24h'?: Array<Array<number>>;
  };
  status?: string;
  substatus?: string;
  title?: string;
  type?: string;
  userCount?: number;
};

export type SentryIoV1IssueGetAllNode = {
  type: 'n8n-nodes-base.sentryIo';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<SentryIoV1IssueGetAllParams>;
  output?: Items<SentryIoV1IssueGetAllOutput>;
};