import { BaseResourceOptions } from '@gitbeaker/requester-utils' ; import { ResourceNotes } from '../templates' ; import { NoteSchema } from '../templates/types' ; import { PaginatedRequestOptions , BaseRequestOptions , Sudo , CamelizedRecord , } from '../infrastructure' ; export interface IssueNoteSchema extends NoteSchema { attachment ? : string ; system : boolean ; noteable_id : number ; noteable_type : string ; noteable_iid : number ; resolvable : boolean ; } export interface IssueNotes < C extends boolean = false > extends ResourceNotes < C > { all ( projectId , issueIId , options ? ) : Promise < CamelizedRecord < C , IssueNoteSchema > [ ] > ; create ( projectId , issueIId , body , options ? ) : Promise < CamelizedRecord < C , IssueNoteSchema > > ; edit ( projectId , issueIId , noteId , body , options ? ) : Promise < CamelizedRecord < C , IssueNoteSchema > > ; remove ( projectId , issueIId , noteId , options ? ) : Promise < void > ; show ( projectId , issueIId , noteId , options ? ) : Promise < CamelizedRecord < C , IssueNoteSchema > > ; } export class IssueNotes < C extends boolean = false > extends ResourceNotes < C > { constructor ( options ) { super ( 'projects' , 'issues' , options ) ; } }