import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceVariables } from '../templates'; import type { VariableFilter, VariableSchema, VariableType } from '../templates/ResourceVariables'; import type { GitlabAPIResponse, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; export interface ProjectVariableSchema extends VariableSchema { environment_scope: string; } export interface ProjectVariables extends ResourceVariables { all( projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

, ): Promise>; create( projectId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; description?: string; raw?: boolean; } & Sudo & ShowExpanded, ): Promise>; edit( projectId: string | number, key: string, value: string, options?: { variableType?: VariableType; protected?: boolean; masked?: boolean; environmentScope?: string; raw?: boolean; filter: VariableFilter; } & Sudo & ShowExpanded, ): Promise>; show( projectId: string | number, key: string, options?: { filter?: VariableFilter } & Sudo & ShowExpanded, ): Promise>; remove( projectId: string | number, key: string, options?: { filter?: VariableFilter } & Sudo & ShowExpanded, ): Promise>; } export class ProjectVariables extends ResourceVariables { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('projects', options); } }