/**
 * Gmail Node - Version 2.1
 * Discriminator: resource=thread, operation=removeLabels
 */


interface Credentials {
  googleApi: CredentialReference;
  gmailOAuth2: CredentialReference;
}

export type GmailV21ThreadRemoveLabelsParams = {
  resource: 'thread';
  operation: 'removeLabels';
  authentication?: 'oAuth2' | 'serviceAccount' | Expression<string>;
/**
 * Thread ID
 */
    threadId?: string | Expression<string> | PlaceholderValue;
/**
 * Choose from the list, or specify IDs using an &lt;a href="https://docs.n8n.io/code/expressions/"&gt;expression&lt;/a&gt;
 * @default []
 */
    labelIds?: string[];
};

export type GmailV21ThreadRemoveLabelsOutput = {
  id?: string;
  messages?: Array<{
    id?: string;
    labelIds?: Array<string>;
    threadId?: string;
  }>;
};

export type GmailV21ThreadRemoveLabelsNode = {
  type: 'n8n-nodes-base.gmail';
  version: 2.1;
  credentials?: Credentials;
  config: NodeConfig<GmailV21ThreadRemoveLabelsParams>;
  output?: Items<GmailV21ThreadRemoveLabelsOutput>;
};