/** * Copyright 2025 Chris Bunting * * GitHub Client - Enterprise-grade GitHub API client with rate limiting, retries, and circuit breaker */ export interface RepositoryFile { path: string; type: 'file' | 'dir'; content?: string; size?: number; } export declare class GitHubClient { private octokit; private readonly maxFileSize; private readonly maxFilesPerScan; constructor(); /** * Get all files from a repository with rate limiting and error handling */ getRepositoryFiles(owner: string, repo: string, branch?: string, path?: string): Promise; /** * Recursively get all files from a repository with rate limiting and memory management */ private getFilesRecursive; /** * Get content of a specific file with validation and size limits */ private getFileContent; /** * Get repository information with rate limiting and error handling */ getRepositoryInfo(owner: string, repo: string): Promise<{ name: string; fullName: string; description: string | null; defaultBranch: string; isPrivate: boolean; createdAt: string; updatedAt: string; }>; /** * Check if repository is accessible with proper error handling */ isAccessible(owner: string, repo: string): Promise; } //# sourceMappingURL=GitHubClient.d.ts.map