/**
 * Internal lock file fetcher for E2E tests.
 *
 * Implements the LockFileFetcher interface from @kici-dev/engine by reading
 * kici.lock.json directly from the local filesystem. Used when the internal
 * provider processes webhooks for repos accessible via file:// URLs.
 */
import type { LockFileFetcher, LockFile } from '@kici-dev/engine';
/**
 * Internal provider implementation of LockFileFetcher.
 *
 * Reads kici.lock.json from the local filesystem at the path derived from
 * the repoIdentifier (which is expected to be a file:// URL or a local path).
 */
export declare class InternalLockFileFetcher implements LockFileFetcher {
    private readonly repoBasePath;
    readonly provider: "internal";
    /**
     * @param repoBasePath - Base directory for test repos. When repoIdentifier
     *   starts with 'file://', it is stripped and used as-is. Otherwise
     *   repoBasePath is used as the root.
     */
    constructor(repoBasePath: string);
    /**
     * Fetch the lock file from the local filesystem.
     *
     * @param repoIdentifier - Either a file:// URL or a relative path under repoBasePath
     * @param ref - Git ref (ignored for filesystem access -- always reads current state)
     * @param _credentials - Not used (file:// access needs no auth)
     * @returns Parsed LockFile, or null if not found
     * @throws LockFileParseError when the file is present but unparseable/invalid
     */
    fetchLockFile(repoIdentifier: string, ref: string, _credentials: unknown): Promise<LockFile | null>;
}
//# sourceMappingURL=lock-file-fetcher.d.ts.map