import { VcsClientMergeDiscussions, type VcsAddNoteQuery, type VcsDiscussionsListQuery } from '../abstract/vcs-client-merge-discussions.js'; type RequestFn = (path: string, init?: RequestInit) => Promise; /** * @purpose Access to Discussions for Merge Requests in GitLab. * @invariant Error Policy: Network/status errors are thrown outward from request(). * @consumer VcsGitlabClient */ export declare class VcsGitlabMergeDiscussions extends VcsClientMergeDiscussions { /** @purpose Bound HTTP request function injected for GitLab API calls */ protected _request: RequestFn; /** * @purpose Wire the HTTP request adapter for GitLab merge discussion endpoints. * @param request Authenticated HTTP request function targeting GitLab API. */ constructor(request: RequestFn); /** * @param query Target project, MR, discussion, and note body. * @returns Created note object from GitLab API. * @sideEffect Network: POST /projects/:project/merge_requests/:iid/discussions/:discussion_id/notes * @see {VcsClientMergeDiscussions#addNote} in services/vcs-client/abstract/vcs-merge-discussions.ts */ addNote(query: VcsAddNoteQuery): Promise; /** * @param query Target project, MR, and optional pagination. * @returns List of discussions for the requested page. * @sideEffect Network: GET /projects/:project/merge_requests/:iid/discussions * @see {VcsClientMergeDiscussions#getList} in services/vcs-client/abstract/vcs-merge-discussions.ts */ getList(query: VcsDiscussionsListQuery): Promise; /** * @param query Target project and MR. * @returns Complete list of all discussions across all pages. * @sideEffect Network: Multiple GET requests for paginated loading. * @see {VcsClientMergeDiscussions#getAll} in services/vcs-client/abstract/vcs-merge-discussions.ts */ getAll(query: { project: string; iid: string | number; }): Promise; } export {};