import type { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceIssueBoards } from '../templates'; import { IssueBoardListSchema, IssueBoardSchema } from '../templates/ResourceIssueBoards'; import type { GitlabAPIResponse, OneOrNoneOf, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; import type { SimpleProjectSchema } from './Projects'; export interface ProjectIssueBoardSchema extends IssueBoardSchema { project: SimpleProjectSchema; } export interface ProjectIssueBoards extends ResourceIssueBoards { all( projectId: string | number, options?: PaginationRequestOptions

& Sudo & ShowExpanded, ): Promise>; allLists( projectId: string | number, boardId: number, options?: Sudo & ShowExpanded, ): Promise>; create( projectId: string | number, name: string, options?: Sudo & ShowExpanded, ): Promise>; createList( projectId: string | number, boardId: number, options?: OneOrNoneOf<{ labelId: number; assigneeId: number; milestoneId: number }> & Sudo & ShowExpanded, ): Promise>; edit( projectId: string | number, boardId: number, options?: { name?: string; assigneeId?: number; milestoneId?: number; labels?: string; weight?: number; } & Sudo & ShowExpanded, ): Promise>; editList( projectId: string | number, boardId: number, listId: number, position: number, options?: Sudo & ShowExpanded, ): Promise>; remove( projectId: string | number, boardId: number, options?: Sudo & ShowExpanded, ): Promise>; removeList( projectId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded, ): Promise>; show( projectId: string | number, boardId: number, options?: Sudo & ShowExpanded, ): Promise>; showList( projectId: string | number, boardId: number, listId: number, options?: Sudo & ShowExpanded, ): Promise>; } export class ProjectIssueBoards extends ResourceIssueBoards { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('projects', options); } }