import { VcsClientMergeRequests, type VcsMergeRequestByIidQuery, type VcsMergeRequestsQuery } from '../abstract/vcs-client-merge-requests.js'; import type { VcsMergeRequestChanges, VcsMergeRequestChangesQuery } from '../entities/vcs-merge-request-changes.type.js'; type RequestFn = (path: string, init?: RequestInit) => Promise; /** * @purpose Access GitLab Merge Requests. * @invariant Error Policy: Network/status errors propagated to caller. * @consumer VcsGitlabClient */ export declare class VcsGitlabMergeRequests extends VcsClientMergeRequests { /** @purpose Bound HTTP request function injected for GitLab API calls */ protected _request: RequestFn; /** * @purpose Wire the HTTP request adapter for GitLab merge request endpoints. * @param request Authenticated HTTP request function targeting GitLab API. */ constructor(request: RequestFn); /** * @param query Target project and optional filters. * @returns List of merge requests matching the filters. * @sideEffect Network: GET /projects/:project/merge_requests * @see {VcsClientMergeRequests#getList} in services/vcs-client/abstract/vcs-merge-requests.ts */ getList(query: VcsMergeRequestsQuery): Promise; /** * @param query Target project and optional filters. * @returns First matching merge request or null. * @sideEffect Network: Delegates to getList() with per_page=1 limit. * @see {VcsClientMergeRequests#getList} in services/vcs-client/abstract/vcs-merge-requests.ts */ getOne(query: VcsMergeRequestsQuery): Promise; /** * @param query Target project and MR IID. * @returns Merge request object or null on 404. * @sideEffect Network: GET /projects/:project/merge_requests/:iid * @see {VcsClientMergeRequests#getList} in services/vcs-client/abstract/vcs-merge-requests.ts */ getByIid(query: VcsMergeRequestByIidQuery): Promise; /** * @param query Target repository and MR IID, optional pagination. * @returns List of changed files with metadata. * @sideEffect Network: GET /projects/:project/merge_requests/:iid/changes * @see {VcsClientMergeRequests#getChanges} in services/vcs-client/abstract/vcs-client-merge-requests.ts */ getChanges(query: VcsMergeRequestChangesQuery): Promise; } export {};