/**
 * GitLab Node - Version 1
 * Discriminator: resource=release, operation=create
 */


interface Credentials {
  gitlabApi: CredentialReference;
  gitlabOAuth2Api: CredentialReference;
}

/** Create a new issue */
export type GitlabV1ReleaseCreateParams = {
  resource: 'release';
  operation: 'create';
  authentication?: 'accessToken' | 'oAuth2' | Expression<string>;
/**
 * User, group or namespace of the project
 */
    owner?: string | Expression<string> | PlaceholderValue;
/**
 * The name of the project
 * @displayOptions.hide { resource: ["user"], operation: ["getRepositories"] }
 */
    repository?: string | Expression<string> | PlaceholderValue;
/**
 * The tag of the release
 */
    releaseTag?: string | Expression<string> | PlaceholderValue;
/**
 * Additional Fields
 * @default {}
 */
    additionalFields?: {
    /** The name of the release
     */
    name?: string | Expression<string> | PlaceholderValue;
    /** The description of the release
     */
    description?: string | Expression<string> | PlaceholderValue;
    /** If Tag doesn’t exist, the release will be created from Ref. It can be a commit SHA, another tag name, or a branch name.
     */
    ref?: string | Expression<string> | PlaceholderValue;
  };
};

export type GitlabV1ReleaseCreateNode = {
  type: 'n8n-nodes-base.gitlab';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<GitlabV1ReleaseCreateParams>;
};