/**
 * Zammad Node - Version 1
 * Discriminator: resource=ticket, operation=get
 */


interface Credentials {
  zammadBasicAuthApi: CredentialReference;
  zammadTokenAuthApi: CredentialReference;
}

/** Retrieve a group */
export type ZammadV1TicketGetParams = {
  resource: 'ticket';
  operation: 'get';
  authentication?: 'basicAuth' | 'tokenAuth' | Expression<string>;
/**
 * Ticket to retrieve. Specify an ID using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;.
 */
    id?: string | Expression<string> | PlaceholderValue;
};

export type ZammadV1TicketGetOutput = {
  article_count?: number;
  articles?: Array<{
    attachments?: Array<{
      filename?: string;
      id?: number;
      preferences?: {
        'Content-Disposition'?: string;
        'Content-ID'?: string;
        'Content-Type'?: string;
        'Mime-Type'?: string;
      };
      size?: string;
      store_file_id?: number;
    }>;
    body?: string;
    content_type?: string;
    created_at?: string;
    created_by?: string;
    created_by_id?: number;
    id?: number;
    internal?: boolean;
    sender?: string;
    sender_id?: number;
    ticket_id?: number;
    type?: string;
    type_id?: number;
    updated_at?: string;
    updated_by?: string;
    updated_by_id?: number;
  }>;
  checklist_id?: null;
  create_article_sender_id?: number;
  create_article_type_id?: number;
  created_at?: string;
  created_by_id?: number;
  customer_id?: number;
  group_id?: number;
  id?: number;
  internal_issue_type?: null;
  internal_ticket?: boolean;
  note?: null;
  number?: string;
  owner_id?: number;
  preferences?: {
    escalation_calculation?: {
      calendar_id?: number;
      calendar_updated_at?: string;
      escalation_disabled?: boolean;
      first_response_at?: string;
      last_contact_at?: string;
      last_update_at?: string;
      sla_id?: number;
      sla_updated_at?: string;
    };
  };
  priority_id?: number;
  product?: string;
  resolution?: string;
  state_id?: number;
  sub_priority?: string;
  ticket_severity?: string;
  title?: string;
  type_from_ahlsell?: string;
  updated_at?: string;
  updated_by_id?: number;
  wait_for_3rd_party?: string;
};

export type ZammadV1TicketGetNode = {
  type: 'n8n-nodes-base.zammad';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<ZammadV1TicketGetParams>;
  output?: Items<ZammadV1TicketGetOutput>;
};