import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceAccessTokens } from '../templates'; import type { AccessTokenExposedSchema, AccessTokenSchema, AccessTokenScopes, } from '../templates/ResourceAccessTokens'; import type { GitlabAPIResponse, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; import { AccessLevel } from '../constants'; export interface GroupAccessTokens extends ResourceAccessTokens { all( groupId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

, ): Promise>; create( groupId: string | number, name: string, scopes: AccessTokenScopes[], expiresAt: string, options?: { accessLevel?: Exclude< AccessLevel, AccessLevel.MINIMAL_ACCESS | AccessLevel.NO_ACCESS | AccessLevel.ADMIN >; } & Sudo & ShowExpanded, ): Promise>; revoke( groupId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded, ): Promise>; rotate( groupId: string | number, tokenId: string | number, options?: { expiresAt?: string } & Sudo & ShowExpanded, ): Promise>; show( groupId: string | number, tokenId: string | number, options?: Sudo & ShowExpanded, ): Promise>; } export class GroupAccessTokens extends ResourceAccessTokens { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('groups', options); } }