import { Project } from "@atomist/automation-client"; import { PushImpactListenerInvocation } from "@atomist/sdm"; import { PublishFingerprints } from "../adhoc/fingerprints"; import { VirtualProjectFinder } from "../fingerprints/virtual-project/VirtualProjectFinder"; import { Aspect, FingerprintHandler, FP } from "./Aspect"; import { AspectsFactory, FingerprintImpactHandlerConfig, FingerprintOptions } from "./fingerprintSupport"; export declare type FingerprintRunner = (i: PushImpactListenerInvocation) => Promise; export declare type FingerprintComputer = (p: Project, i: PushImpactListenerInvocation) => Promise; export declare function createFingerprintComputer(aspects: Aspect[], virtualProjectFinder?: VirtualProjectFinder, aspectsFactory?: AspectsFactory): FingerprintComputer; /** * Construct our FingerprintRunner for the current registrations */ export declare function fingerprintRunner(aspects: Aspect[], handlers: FingerprintHandler[], computer: FingerprintComputer, publishFingerprints: PublishFingerprints, options?: FingerprintOptions & FingerprintImpactHandlerConfig): FingerprintRunner;