import { BaseResourceOptions } from '@gitbeaker/requester-utils'; import { ResourceNotes } from '../templates'; import { NoteSchema } from '../templates/types'; import { PaginatedRequestOptions, BaseRequestOptions, Sudo, CamelizedRecord, } from '../infrastructure'; export interface MergeRequestNoteSchema extends NoteSchema { attachment?: string; system: boolean; noteable_id: number; noteable_type: string; noteable_iid: number; resolvable: boolean; } export interface MergeRequestNotes extends ResourceNotes { all( projectId: string | number, mergerequestId: string | number, options?: PaginatedRequestOptions, ): Promise[]>; create( projectId: string | number, mergerequestId: string | number, body: string, options?: BaseRequestOptions, ): Promise>; edit( projectId: string | number, mergerequestId: string | number, noteId: number, body: string, options?: BaseRequestOptions, ): Promise>; remove( projectId: string | number, mergerequestId: string | number, noteId: number, options?: Sudo, ): Promise; show( projectId: string | number, mergerequestIdepicId: string | number, noteId: number, options?: Sudo, ): Promise>; } export class MergeRequestNotes extends ResourceNotes { constructor(options: BaseResourceOptions) { /* istanbul ignore next */ super('projects', 'merge_requests', options); } }