import { EventFired, HandlerContext, HandlerResult } from "@atomist/automation-client";
import { HandleEvent } from "@atomist/automation-client/lib/HandleEvent";
import { CredentialsResolver, EnrichGoal, GoalImplementationMapper, GoalSetter, GoalsSetListener, PreferenceStoreFactory, ProjectLoader, RepoRefResolver, TagGoalSet } from "@atomist/sdm";
import { OnPushToAnyBranch } from "../../../../typings/types";
/**
 * Set up goalSet on a push (e.g. for delivery).
 */
export declare class SetGoalsOnPush implements HandleEvent<OnPushToAnyBranch.Subscription> {
    private readonly projectLoader;
    private readonly repoRefResolver;
    private readonly goalSetter;
    readonly goalsListeners: GoalsSetListener[];
    private readonly implementationMapping;
    private readonly credentialsFactory;
    private readonly preferenceStoreFactory;
    private readonly enrichGoal;
    private readonly tagGoalSet;
    /**
     * Configure goal setting
     * @param projectLoader use to load projects
     * @param repoRefResolver used to resolve repos from GraphQL return
     * @param goalSetter
     * @param goalsListeners listener to goals set
     * @param implementationMapping
     * @param credentialsFactory credentials factory
     */
    constructor(projectLoader: ProjectLoader, repoRefResolver: RepoRefResolver, goalSetter: GoalSetter, goalsListeners: GoalsSetListener[], implementationMapping: GoalImplementationMapper, credentialsFactory: CredentialsResolver, preferenceStoreFactory: PreferenceStoreFactory, enrichGoal: EnrichGoal, tagGoalSet: TagGoalSet);
    handle(event: EventFired<OnPushToAnyBranch.Subscription>, context: HandlerContext): Promise<HandlerResult>;
}
//# sourceMappingURL=SetGoalsOnPush.d.ts.map