import { BaseRequestOptions, BaseService, PaginatedRequestOptions, Sudo } from '../infrastructure'; export interface AcceptMergeRequestOptions { merge_commit_message?: string; squash_commit_message?: string; squash?: boolean; should_remove_source_branch?: boolean; merge_when_pipeline_succeeds?: boolean; sha?: string; } export interface ShowMergeRequestOptions { render_html?: boolean; include_diverged_commits_count?: true; include_rebase_in_progress?: boolean; } export interface CreateMergeRequestOptions { assignee_id?: number; description?: string; target_project_id?: number; labels?: string; milestone_id?: number; remove_source_branch?: boolean; allow_collaboration?: boolean; allow_maintainer_to_push?: boolean; squash?: boolean; } export interface UpdateMergeRequestOptions { target_branch?: number; title?: string; assignee_id?: number; milestone_id?: number; labels?: string; description?: string; state_event?: string; remove_source_branch?: boolean; squash?: boolean; discussion_locked?: boolean; allow_collaboration?: boolean; allow_maintainer_to_push?: boolean; } export declare class MergeRequests extends BaseService { accept(projectId: string | number, mergerequestIId: number, options?: AcceptMergeRequestOptions & BaseRequestOptions): Promise; addSpentTime(projectId: string | number, mergerequestIId: number, duration: string, options?: Sudo): Promise; addTimeEstimate(projectId: string | number, mergerequestIId: number, duration: string, options?: Sudo): Promise; all({ projectId, groupId, ...options }: ({ projectId: string | number; } | { groupId: string | number; } | {}) & PaginatedRequestOptions): Promise; approve(projectId: string | number, mergerequestIId: number, options?: { sha?: string; } & BaseRequestOptions): Promise; approvals(projectId: string | number, { mergerequestIId, ...options }?: { mergerequestIId?: number; } & BaseRequestOptions): Promise; approvalState(projectId: string | number, mergerequestIId: number, options?: { sha?: string; } & BaseRequestOptions): Promise; approvers(projectId: string | number, approverIds: number[], approverGroupIds: (string | number)[], { mergerequestIId, ...options }?: { mergerequestIId?: number; } & BaseRequestOptions): Promise; cancelOnPipelineSucess(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; changes(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; closesIssues(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; commits(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; create(projectId: string | number, sourceBranch: string, targetBranch: string, title: string, options?: CreateMergeRequestOptions & BaseRequestOptions): Promise; edit(projectId: string | number, mergerequestIId: number, options?: UpdateMergeRequestOptions & BaseRequestOptions): Promise; editApprovals(projectId: string | number, { mergerequestIId, ...options }?: { mergerequestIId?: number; } & BaseRequestOptions): Promise; participants(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; pipelines(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; remove(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; resetSpentTime(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; resetTimeEstimate(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; show(projectId: string | number, mergerequestIId: number, options?: ShowMergeRequestOptions & BaseRequestOptions): Promise; timeStats(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; version(projectId: string | number, mergerequestIId: number, versionId: number, options?: Sudo): Promise; versions(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; unapprove(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; unsubscribe(projectId: string | number, mergerequestIId: number, options?: Sudo): Promise; }