/**
 * Jira Software Node - Version 1
 * Discriminator: resource=issueComment, operation=add
 */


interface Credentials {
  jiraSoftwareCloudApi: CredentialReference;
  jiraSoftwareServerApi: CredentialReference;
  jiraSoftwareServerPatApi: CredentialReference;
}

/** Get, create, update, and delete a comment from an issue */
export type JiraV1IssueCommentAddParams = {
  resource: 'issueComment';
  operation: 'add';
  jiraVersion?: 'cloud' | 'server' | 'serverPat' | Expression<string>;
/**
 * issueComment Key
 */
    issueKey?: string | Expression<string> | PlaceholderValue;
/**
 * JSON Parameters
 * @default false
 */
    jsonParameters?: boolean | Expression<boolean>;
/**
 * Comment's text
 * @displayOptions.show { jsonParameters: [false] }
 */
    comment?: string | Expression<string> | PlaceholderValue;
/**
 * The Atlassian Document Format (ADF). Online builder can be found &lt;a href="https://developer.atlassian.com/cloud/jira/platform/apis/document/playground/"&gt;here&lt;/a&gt;.
 * @displayOptions.show { jsonParameters: [true] }
 */
    commentJson?: IDataObject | string | Expression<string>;
/**
 * Options
 * @default {}
 */
    options?: {
    /** Use expand to include additional information about comments in the response. This parameter accepts Rendered Body, which returns the comment body rendered in HTML.
     * @default []
     */
    expand?: 'renderedBody' | Expression<string>;
    /** Whether to enable parsing of wikiformatting for this comment. Default is false.
     * @displayOptions.show { /jiraVersion: ["cloud"] }
     * @default false
     */
    wikiMarkup?: boolean | Expression<boolean>;
  };
};

export type JiraV1IssueCommentAddOutput = {
  author?: {
    accountId?: string;
    accountType?: string;
    active?: boolean;
    avatarUrls?: {
      '16x16'?: string;
      '24x24'?: string;
      '32x32'?: string;
      '48x48'?: string;
    };
    displayName?: string;
    emailAddress?: string;
    self?: string;
    timeZone?: string;
  };
  body?: {
    content?: Array<{
      content?: Array<{
        text?: string;
        type?: string;
      }>;
      type?: string;
    }>;
    type?: string;
    version?: number;
  };
  created?: string;
  id?: string;
  jsdPublic?: boolean;
  self?: string;
  updateAuthor?: {
    accountId?: string;
    accountType?: string;
    active?: boolean;
    avatarUrls?: {
      '16x16'?: string;
      '24x24'?: string;
      '32x32'?: string;
      '48x48'?: string;
    };
    displayName?: string;
    emailAddress?: string;
    self?: string;
    timeZone?: string;
  };
  updated?: string;
};

export type JiraV1IssueCommentAddNode = {
  type: 'n8n-nodes-base.jira';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<JiraV1IssueCommentAddParams>;
  output?: Items<JiraV1IssueCommentAddOutput>;
};