import { VcsGitlabMergeRequests } from './vcs-gitlab-merge-requests.js'; import { VcsGitlabMergeDiscussions } from './vcs-gitlab-merge-discussions.js'; import { VcsGitlabRepositoryFiles } from './vcs-gitlab-repository-files.js'; import { VcsClient } from '../abstract/vcs-client.js'; /** * @purpose Options for creating a GitLab API client: base URL and access token. * @consumer VcsGitlabClient */ export type VcsGitlabClientOptions = { /** @purpose GitLab instance base URL (e.g. https://gitlab.example.com) */ baseUrl: string; /** @purpose GitLab personal or project access token */ token: string; }; /** * @purpose GitLab client for working with REST API. * @invariant Error Policy: Any non-2xx response is converted to an Error with status details. * @invariant Retry Policy: No retries; retry responsibility lies with the caller. * @consumer cli/review-verify */ export declare class VcsGitlabClient extends VcsClient { /** @see {VcsClient#MergeRequests} in services/vcs-client/abstract/vcs-client.ts */ readonly MergeRequests: VcsGitlabMergeRequests; /** @see {VcsClient#MergeDiscussions} in services/vcs-client/abstract/vcs-client.ts */ readonly MergeDiscussions: VcsGitlabMergeDiscussions; /** @see {VcsClient#RepositoryFiles} in services/vcs-client/abstract/vcs-client.ts */ readonly RepositoryFiles: VcsGitlabRepositoryFiles; /** * @purpose Create a GitLab API client bound to a base URL with access token. * @param options Connection parameters: base URL and access token. */ constructor(options: VcsGitlabClientOptions); }