/**
 * SQLite Contributor Repository (spec 097, FR-21).
 *
 * Backed by the `contributors` table (migration 101). All queries use
 * parameterized statements; the leaderboard query uses the indexed
 * `pr_count` and `last_contribution_at` columns.
 */
import type Database from 'better-sqlite3';
import type { IContributorRepository, FindTopByPrCountOptions } from '../../application/ports/output/repositories/contributor-repository.interface.js';
import type { Contributor } from '../../domain/generated/output.js';
export declare class SQLiteContributorRepository implements IContributorRepository {
    private readonly db;
    constructor(db: Database.Database);
    create(contributor: Contributor): Promise<void>;
    findById(id: string): Promise<Contributor | null>;
    findByGitHubLogin(login: string): Promise<Contributor | null>;
    update(contributor: Contributor): Promise<void>;
    delete(id: string): Promise<void>;
    listAll(): Promise<Contributor[]>;
    findTopByPrCount(options: FindTopByPrCountOptions): Promise<Contributor[]>;
}
//# sourceMappingURL=sqlite-contributor.repository.d.ts.map