import { ActionResult } from "../../action/ActionResult"; import { HandleCommand } from "../../HandleCommand"; import { HandlerContext } from "../../HandlerContext"; import { Maker } from "../../util/constructionUtils"; import { CommandDetails } from "../CommandDetails"; import { EditorOrReviewerParameters } from "../common/params/BaseEditorOrReviewerParameters"; import { RepoFilter } from "../common/repoFilter"; import { RepoRef } from "../common/RepoId"; import { ProjectReviewer } from "./projectReviewer"; import { ProjectReview } from "./ReviewResult"; /** * Function signature to route ProjectReviews, for example to GitHub issues or MessageClient */ export declare type ReviewRouter = (pr: ProjectReview, params: PARAMS, title: string, ctx: HandlerContext) => Promise>; /** * Further details of an editor to allow selective customization */ export interface ReviewerCommandDetails extends CommandDetails { repoFilter?: RepoFilter; reviewRouter: ReviewRouter; } /** * Create a handle function that reviews one or many repos, following AllReposByDefaultParameters * @param reviewerFactory function returning a reviewer instance for the appropriate parameters * @param factory construction function * @param {string} name * @param {string} details object allowing customization beyond reasonable defaults * @return {HandleCommand} */ export declare function reviewerHandler(reviewerFactory: (params: PARAMS) => ProjectReviewer, factory: Maker, name: string, details?: Partial>): HandleCommand; //# sourceMappingURL=reviewerToCommand.d.ts.map