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


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

export type GmailV21LabelGetAllParams = {
  resource: 'label';
  operation: 'getAll';
  authentication?: 'oAuth2' | 'serviceAccount' | 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 50
 */
    limit?: number | Expression<number>;
};

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

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