/**
 * GitHub Metrics Collector
 *
 * Collects metrics from GitHub repositories including:
 * - Commits
 * - Pull requests
 * - Issues and comments
 *
 * Features built-in rate limiting and error handling for API calls.
 * Uses exponential backoff for retries on transient failures.
 */
import { RateLimiter } from "../utils/rate-limiter";
import { Logger } from "../utils/logger";
import { BaseCollector } from "./base";
import { GitHubMetrics } from "../types/metrics";
export declare class GitHubCollector extends BaseCollector {
    private readonly octokit;
    private readonly owner;
    private readonly repo;
    constructor({ token, repo, logger, rateLimiter, }: {
        token: string;
        repo: string;
        logger?: Logger;
        rateLimiter?: RateLimiter;
    });
    testConnection(): Promise<void>;
    collectCommitMetrics(): Promise<GitHubMetrics["commits"]>;
    collectPullRequestMetrics(): Promise<GitHubMetrics["pullRequests"]>;
    collectReviewMetrics(): Promise<GitHubMetrics["reviews"]>;
    collectIssueMetrics(): Promise<GitHubMetrics["issues"]>;
    collectMetrics(): Promise<GitHubMetrics>;
}
