import { HandleCommand } from "../../HandleCommand";
import { Maker } from "../../util/constructionUtils";
import { CommandDetails } from "../CommandDetails";
import { EditorOrReviewerParameters } from "../common/params/BaseEditorOrReviewerParameters";
import { RepoFilter } from "../common/repoFilter";
import { Tagger, TagRouter } from "./Tagger";
export interface TaggerCommandDetails<PARAMS extends EditorOrReviewerParameters> extends CommandDetails<PARAMS> {
    tagRouter: TagRouter;
    repoFilter?: RepoFilter;
}
export declare const MessageClientTagRouter: TagRouter;
/**
 * Create a handle function that tags one or many repos, following AllReposByDefaultParameters
 * @param tagger tagger function
 * @param factory construction function
 * @param {string} name
 * @param {string} details object allowing customization beyond reasonable defaults
 * @return {HandleCommand}
 */
export declare function taggerHandler<PARAMS extends EditorOrReviewerParameters>(tagger: Tagger<PARAMS>, factory: Maker<PARAMS>, name: string, details?: Partial<TaggerCommandDetails<PARAMS>>): HandleCommand;
//# sourceMappingURL=taggerHandler.d.ts.map