import { HandlerContext } from "@atomist/automation-client";
import { Aspect, Diff, Vote } from "../machine/Aspect";
import { FingerprintImpactHandlerConfig, FingerprintOptions } from "../machine/fingerprintSupport";
import { GitCoordinate } from "../support/messages";
import { GetFpTargets } from "../typings/types";
/**
 * for target fingerprints, wait until we've seen all of Votes so we can expose both apply and
 * apply all choices.
 *
 * only take this action if one of the diff handlers voted Against
 * skip this if we don't know what channel to use
 * make the message id unique by the current fingerprint sha, the target sha, the git coordinate and the channel
 *
 * @param config
 */
export declare function votes(config: FingerprintOptions & FingerprintImpactHandlerConfig): (ctx: HandlerContext, votes: Vote[], coord: GitCoordinate, channel: string) => Promise<any>;
/**
 * check whether the fingerprint in this diff is the same as the target value
 *
 * @param ctx
 * @param diff
 * @param config
 * @param registrations
 * @param targetsQuery
 */
export declare function checkFingerprintTarget(ctx: HandlerContext, diff: Diff, aspect: Aspect, targetsQuery: () => Promise<GetFpTargets.Query>): Promise<any>;
