import { EventFired, HandleEvent } from "@atomist/automation-client/lib/HandleEvent";
import { HandlerContext } from "@atomist/automation-client/lib/HandlerContext";
import { HandlerResult } from "@atomist/automation-client/lib/HandlerResult";
import { PreferenceStoreFactory } from "../../../../../api/context/preferenceStore";
import { GoalCompletionListener } from "../../../../../api/listener/GoalCompletionListener";
import { SoftwareDeliveryMachineConfiguration } from "../../../../../api/machine/SoftwareDeliveryMachineOptions";
import { CredentialsResolver } from "../../../../../spi/credentials/CredentialsResolver";
import { RepoRefResolver } from "../../../../../spi/repo-ref/RepoRefResolver";
import { OnAnyCompletedSdmGoal } from "../../../../../typings/types";
/**
 * Respond to a failure or success status by running listeners
 */
export declare class RespondOnGoalCompletion implements HandleEvent<OnAnyCompletedSdmGoal.Subscription> {
    private readonly repoRefResolver;
    private readonly credentialsFactory;
    private readonly goalCompletionListeners;
    private readonly preferenceStoreFactory;
    configuration: SoftwareDeliveryMachineConfiguration;
    constructor(repoRefResolver: RepoRefResolver, credentialsFactory: CredentialsResolver, goalCompletionListeners: GoalCompletionListener[], preferenceStoreFactory: PreferenceStoreFactory);
    handle(event: EventFired<OnAnyCompletedSdmGoal.Subscription>, context: HandlerContext): Promise<HandlerResult>;
}
//# sourceMappingURL=RespondOnGoalCompletion.d.ts.map