/**
 * Gmail Node - Version 2.1
 * Discriminator: resource=label, operation=create
 */


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

export type GmailV21LabelCreateParams = {
  resource: 'label';
  operation: 'create';
  authentication?: 'oAuth2' | 'serviceAccount' | Expression<string>;
/**
 * Label Name
 */
    name?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    options?: {
    /** The visibility of the label in the label list in the Gmail web interface
     * @default labelShow
     */
    labelListVisibility?: 'labelHide' | 'labelShow' | 'labelShowIfUnread' | Expression<string>;
    /** The visibility of messages with this label in the message list in the Gmail web interface
     * @default show
     */
    messageListVisibility?: 'hide' | 'show' | Expression<string>;
  };
};

export type GmailV21LabelCreateOutput = {
  id?: string;
  labelListVisibility?: string;
  messageListVisibility?: string;
  name?: string;
};

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