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 ProjectAccessTokens extends ResourceAccessTokens { all( projectId: string | number, options?: Sudo & ShowExpanded & PaginationRequestOptions

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