import { Goal } from "../Goal";
import { Goals } from "../Goals";
import { FulfillableGoal, FulfillableGoalDetails } from "../GoalWithFulfillment";
import { SdmGoalEvent } from "../SdmGoalEvent";
/**
 * Options to configure the Cancel goal
 */
export interface CancelOptions {
    /**
     * Goals that should be canceled if they are in a state that allows cancellation
     */
    goals: Array<Goal | Goals>;
    /**
     * Name of goals that should be canceled if they are in a state that allows cancellation
     */
    goalNames?: string | string[];
    /**
     * Filter goals to cancel based on goalSet or state
     * @param goalSet
     */
    goalFilter?: (goal: SdmGoalEvent) => boolean;
}
export declare const DefaultCancelOptions: CancelOptions;
/**
 * Goal to cancel pending goals in goal sets of the previous commit on the same branch
 */
export declare class Cancel extends FulfillableGoal {
    private readonly options;
    constructor(options?: FulfillableGoalDetails & CancelOptions, ...dependsOn: Goal[]);
}
//# sourceMappingURL=Cancel.d.ts.map