import { VcsClientRepositoryFiles } from '../abstract/vcs-client-repository-files.js'; import type { VcsFileContent, VcsFileContentQuery } from '../entities/vcs-file-content.type.js'; /** * @purpose Access repository files via GitLab API (/raw endpoint). * @invariant Error Policy: Network/status errors propagated to caller. 404 → null. * @invariant Encoding Contract: Text files → encoding: 'utf-8'; binary → encoding: 'base64'. * @consumer VcsGitlabClient */ export declare class VcsGitlabRepositoryFiles extends VcsClientRepositoryFiles { /** @purpose GitLab instance base URL */ protected _baseUrl: string; /** @purpose GitLab access token */ protected _token: string; /** * @purpose Wire the adapter with GitLab connection params for raw file fetches. * @param baseUrl GitLab instance base URL (e.g. https://gitlab.com/api/v4). * @param token GitLab personal access token. */ constructor(baseUrl: string, token: string); /** * @param query Target repository, file path, and ref. * @returns File content or null if file not found. * @sideEffect Network: GET /projects/:id/repository/files/:path/raw?ref= * @see {VcsClientRepositoryFiles#getFileContent} in services/vcs-client/abstract/vcs-client-repository-files.ts */ getFileContent(query: VcsFileContentQuery): Promise; }