import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceLabels } from '../templates'; import type { LabelCountSchema, LabelSchema } from '../templates/ResourceLabels'; import type { GitlabAPIResponse, OneOf, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; export interface GroupLabels extends ResourceLabels { all( groupId: string | number, options: { withCounts: true; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded, ): Promise>; all( groupId: string | number, options: { includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded, ): Promise>; all( groupId: string | number, options?: { withCounts?: boolean; includeAncestorGroups?: boolean; search?: string; } & PaginationRequestOptions

& Sudo & ShowExpanded, ): Promise>; create( groupId: string | number, labelName: string, color: string, options?: { description?: string; priority?: number } & Sudo & ShowExpanded, ): Promise>; edit( groupId: string | number, labelId: number | string, options: OneOf<{ newName: string; color: string }> & { description?: string; priority?: number; } & Sudo & ShowExpanded, ): Promise>; promote( groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded, ): Promise>; remove( groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded, ): Promise>; show( groupId: string | number, labelId: number | string, options?: { includeAncestorGroups?: boolean } & Sudo & ShowExpanded, ): Promise>; subscribe( groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded, ): Promise>; unsubscribe( groupId: string | number, labelId: number | string, options?: Sudo & ShowExpanded, ): Promise>; } export class GroupLabels extends ResourceLabels { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('groups', options); } }