import { VcsClientMergeRequests } 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 to Pull Request files via GitHub API. * @invariant Error Policy: Network/status errors are thrown outward from request(). * @consumer VcsGithubClient */ export declare class VcsGithubMergeRequests extends VcsClientMergeRequests { /** @purpose Bound HTTP request function for GitHub API calls */ protected _request: RequestFn; /** * @purpose Wire the HTTP request adapter for GitHub PR endpoints. * @param request Authenticated HTTP request function targeting GitHub API. */ constructor(request: RequestFn); /** * @purpose GitHub getList not implemented — use getChanges for PR files. * @returns Empty array — not implemented. */ getList(): Promise; /** * @purpose GitHub getOne not implemented. * @returns Null — not implemented. */ getOne(): Promise; /** * @purpose GitHub getByIid not implemented. * @returns Null — not implemented. */ getByIid(): Promise; /** * @param query Target repository and PR number, optional pagination. * @returns List of changed files with metadata. * @sideEffect Network: GET /repos/:owner/:repo/pulls/:number/files * @see {VcsClientMergeRequests#getChanges} in services/vcs-client/abstract/vcs-client-merge-requests.ts */ getChanges(query: VcsMergeRequestChangesQuery): Promise; } export {};