/**
 * GitHub lock file fetcher.
 *
 * Implements the LockFileFetcher interface from @kici-dev/engine for GitHub.
 * Fetches kici.lock.json from a GitHub repository via the Contents API.
 *
 * NOTE: This is the raw fetcher without caching. The orchestrator wraps
 * this with an LRU cache (LockFileCache) for production use.
 */
import { type LockFileFetcher, type LockFile } from '@kici-dev/engine';
import { type GitHubAppConfig } from './auth.js';
/**
 * GitHub-specific implementation of LockFileFetcher.
 *
 * Fetches .kici/kici.lock.json from a GitHub repository using the Contents API.
 * Does NOT include caching -- the orchestrator wraps this fetcher with an LRU cache.
 */
export declare class GitHubLockFileFetcher implements LockFileFetcher {
    private readonly config;
    readonly provider: "github";
    constructor(config: GitHubAppConfig);
    /**
     * Fetch the lock file from a GitHub repository at a specific ref.
     *
     * @param repoIdentifier - "owner/repo" format
     * @param ref - Git ref (branch, tag, SHA)
     * @param credentials - Must be GitHubCredentials with installationId
     * @returns Parsed LockFile, or null if not found
     */
    fetchLockFile(repoIdentifier: string, ref: string, credentials: unknown): Promise<LockFile | null>;
}
//# sourceMappingURL=lock-file.d.ts.map