import { VcsGithubMergeRequests } from './vcs-github-merge-requests.js'; import { VcsGithubRepositoryFiles } from './vcs-github-repository-files.js'; import { VcsClient } from '../abstract/vcs-client.js'; /** * @purpose Options for creating a GitHub API client: base URL and access token. * @consumer VcsGithubClient */ export type VcsGithubClientOptions = { /** @purpose GitHub API base URL (e.g. https://api.github.com) */ baseUrl: string; /** @purpose GitHub personal access token */ token: string; }; /** * @purpose GitHub client for working with REST API (minimal: without MergeDiscussions). * @invariant Error Policy: Any non-2xx response is converted to an Error with status details. * @consumer cli/cat */ export declare class VcsGithubClient extends VcsClient { /** @see {VcsClient#MergeRequests} in services/vcs-client/abstract/vcs-client.ts */ readonly MergeRequests: VcsGithubMergeRequests; /** @see {VcsClient#MergeDiscussions} in services/vcs-client/abstract/vcs-client.ts */ readonly MergeDiscussions: undefined; /** @see {VcsClient#RepositoryFiles} in services/vcs-client/abstract/vcs-client.ts */ readonly RepositoryFiles: VcsGithubRepositoryFiles; /** * @purpose Create a GitHub API client bound to a base URL with access token. * @param options Connection parameters: base URL and access token. */ constructor(options: VcsGithubClientOptions); }