import { BaseResourceOptions } from '@gitbeaker/requester-utils' ; import { ProjectSchema } from './Projects' ; import { ResourceIssueBoards } from '../templates' ; import { IssueBoardSchema , IssueBoardListSchema } from '../templates/types' ; import { BaseRequestOptions , PaginatedRequestOptions , Sudo , CamelizedRecord , } from '../infrastructure' ; export interface ProjectIssueBoardSchema extends IssueBoardSchema { project : Pick < ProjectSchema , 'id' | 'name' | 'name_with_namespace' | 'path' | 'path_with_namespace' | 'http_url_to_repo' | 'web_url' > ; } export interface ProjectIssueBoards < C extends boolean = false > extends ResourceIssueBoards < C > { all ( groupId , options ? ) : Promise < CamelizedRecord < C , ProjectIssueBoardSchema > [ ] > ; create ( groupId , name , options ? ) : Promise < CamelizedRecord < C , ProjectIssueBoardSchema > > ; createList ( groupId , boardId , labelId , options ? ) : Promise < CamelizedRecord < C , IssueBoardListSchema > > ; edit ( groupId , boardId , options ? ) : Promise < CamelizedRecord < C , ProjectIssueBoardSchema > > ; editList ( groupId , boardId , listId , position , options ? ) : Promise < CamelizedRecord < C , IssueBoardListSchema > > ; lists ( groupId , boardId , options ? ) : Promise < CamelizedRecord < C , IssueBoardListSchema > [ ] > ; remove ( groupId , boardId , options ? ) : Promise < void > ; removeList ( groupId , boardId , listId , options ? ) : Promise < void > ; show ( groupId , boardId , options ? ) : Promise < CamelizedRecord < C , ProjectIssueBoardSchema > > ; showList ( groupId , boardId , listId , options ? ) : Promise < CamelizedRecord < C , IssueBoardListSchema > > ; } export class ProjectIssueBoards < C extends boolean = false > extends ResourceIssueBoards < C > { constructor ( options ) { super ( 'projects' , options ) ; } }