/**
 * Internal repo URL builder for E2E tests.
 *
 * Implements the RepoUrlBuilder interface from @kici-dev/engine by returning
 * file:// URLs for local filesystem access, or network URLs (git://, http://)
 * when a cloneUrlBase is configured for remote agent support.
 */
import type { RepoUrlBuilder } from '@kici-dev/engine';
/**
 * Internal provider implementation of RepoUrlBuilder.
 *
 * Builds clone URLs for repository access. When cloneUrlBase is set (e.g. to
 * a git:// daemon URL), uses it for clone URLs so remote agents on different
 * machines can clone. Otherwise falls back to file:// URLs for local access.
 */
export declare class InternalRepoUrlBuilder implements RepoUrlBuilder {
    private readonly repoBasePath;
    private readonly cloneUrlBase?;
    readonly provider: "internal";
    /**
     * @param repoBasePath - Base directory where test repos live on disk
     * @param cloneUrlBase - Optional URL base for clone operations (e.g. git://host/path).
     *   When set, overrides the default file:// URL construction.
     */
    constructor(repoBasePath: string, cloneUrlBase?: string | undefined);
    /**
     * Build a clone URL for a repo.
     *
     * If cloneUrlBase is set, uses it directly (for remote agents).
     * If repoIdentifier already starts with 'file://', returns it as-is.
     * Otherwise, prepends 'file://' and the repoBasePath.
     */
    buildCloneUrl(repoIdentifier: string): string;
    /**
     * Build a raw file URL -- returns empty string.
     *
     * Internal repos have no web UI, so raw file URLs are not applicable.
     * The lock file is fetched via InternalLockFileFetcher (filesystem) instead.
     */
    buildRawFileUrl(_repoIdentifier: string, _ref: string, _path: string): string;
}
//# sourceMappingURL=repo-url-builder.d.ts.map