import { ParameterType } from "@atomist/automation-client";
import { CodeTransform, CodeTransformRegistration, CommandHandlerRegistration, SoftwareDeliveryMachine, TransformPresentation } from "@atomist/sdm";
import { Aspect } from "../../machine/Aspect";
/**
 * Create a CodeTransform that can be used to apply a Fingerprint to a Project
 * This CodeTransform is takes one target Fingerprint in it's set of parameters.
 */
export declare function runAllFingerprintAppliers(aspects: Aspect[]): CodeTransform<ApplyTargetFingerprintParameters>;
export declare function runFingerprintAppliersBySha(aspects: Aspect[]): CodeTransform<ApplyTargetFingerprintByShaParameters>;
export interface ApplyTargetParameters extends ParameterType {
    msgId?: string;
    body: string;
    title: string;
    branch?: string;
}
export interface ApplyTargetFingerprintParameters extends ApplyTargetParameters {
    targetfingerprint: string;
}
export declare const ApplyTargetFingerprintName = "ApplyTargetFingerprint";
export declare function applyTarget(sdm: SoftwareDeliveryMachine, aspects: Aspect[], presentation: TransformPresentation<ApplyTargetParameters>): CodeTransformRegistration<ApplyTargetFingerprintParameters>;
export interface ApplyTargetFingerprintByShaParameters extends ApplyTargetFingerprintParameters {
    sha: string;
}
export declare const ApplyTargetFingerprintByShaName = "ApplyTargetFingerprintBySha";
export declare function applyTargetBySha(sdm: SoftwareDeliveryMachine, aspects: Aspect[], presentation: TransformPresentation<ApplyTargetParameters>): CodeTransformRegistration<ApplyTargetFingerprintByShaParameters>;
export interface ApplyTargetFingerprintsParameters extends ApplyTargetParameters {
    fingerprints: string;
}
export declare const ApplyAllFingerprintsName = "ApplyAllFingerprints";
export declare function applyTargets(sdm: SoftwareDeliveryMachine, registrations: Aspect[], presentation: TransformPresentation<ApplyTargetParameters>): CodeTransformRegistration<ApplyTargetFingerprintsParameters>;
export interface BroadcastFingerprintMandateParameters extends ParameterType {
    fingerprint: string;
    title: string;
    body: string;
    msgId?: string;
    branch?: string;
}
export declare const BroadcastFingerprintMandateName = "BroadcastFingerprintMandate";
export declare function broadcastFingerprintMandate(sdm: SoftwareDeliveryMachine, aspects: Aspect[]): CommandHandlerRegistration<BroadcastFingerprintMandateParameters>;
