import { Build } from "@atomist/sdm-pack-build";
import { Aspect } from "@atomist/sdm-pack-fingerprint";
import { Omit } from "../../util/omit";
import { AspectMetadata } from "../compose/commonTypes";
import { DeliveryAspect } from "./DeliveryAspect";
import { FindFingerprintsFromGoalExecution } from "./support/goalListener";
export declare type BuildAspect<DATA = any> = DeliveryAspect<{
    build: Build;
}, DATA>;
/**
 * Create an SDM BuildListener from BuildAspect
 */
export declare function buildOutcomeAspect<DATA>(opts: AspectMetadata<DATA> & {
    fingerprintFinder: FindFingerprintsFromGoalExecution;
}): BuildAspect<DATA>;
export interface BuildTimeData {
    elapsedMillis: number;
}
export declare const BuildTimeType = "build-time";
/**
 * Capture build time
 */
export declare function buildTimeAspect(opts?: Omit<Aspect, "name" | "displayName" | "extract" | "consolidate">): BuildAspect<BuildTimeData>;
//# sourceMappingURL=BuildAspect.d.ts.map