import { Project } from "@atomist/automation-client";
import { PushImpactListenerInvocation } from "@atomist/sdm";
import { Aspect, FingerprintHandler, FP } from "./Aspect";
import { FingerprintImpactHandlerConfig, FingerprintOptions } from "./fingerprintSupport";
export declare type FingerprintRunner = (i: PushImpactListenerInvocation) => Promise<FP[]>;
export declare type FingerprintComputer = (fingerprinters: Aspect[], p: Project) => Promise<FP[]>;
export declare const computeFingerprints: FingerprintComputer;
/**
 * Construct our FingerprintRunner for the current registrations
 */
export declare function fingerprintRunner(fingerprinters: Aspect[], handlers: FingerprintHandler[], computer: (fingerprinters: Aspect[], p: Project) => Promise<FP[]>, options?: FingerprintOptions & FingerprintImpactHandlerConfig): FingerprintRunner;
