import { HandlerContext } from "../../HandlerContext";
import { Project } from "../../project/Project";
import { ProjectOperationCredentials } from "./ProjectOperationCredentials";
import { RepoFilter } from "./repoFilter";
import { RepoFinder } from "./repoFinder";
import { RepoRef } from "./RepoId";
import { RepoLoader } from "./repoLoader";
/**
 * Perform an action against all the given repos.
 * Skip over repos that cannot be loaded, logging a warning.
 * @param {HandlerContext} ctx
 * @param credentials credentials for repo finding and loading
 * @param action action parameter
 * @param parameters optional parameters
 * @param {RepoFinder} repoFinder
 * @param {} repoFilter
 * @param {RepoLoader} repoLoader
 * @return {Promise<R[]>}
 */
export declare function doWithAllRepos<R, P>(ctx: HandlerContext, credentials: ProjectOperationCredentials, action: (p: Project, t: P) => Promise<R>, parameters: P, repoFinder: RepoFinder, repoFilter?: RepoFilter, repoLoader?: RepoLoader): Promise<R[]>;
export declare function relevantRepos(ctx: HandlerContext, repoFinder: RepoFinder, repoFilter?: RepoFilter): Promise<RepoRef[]>;
//# sourceMappingURL=repoUtils.d.ts.map