import { AmplifyMigrationOperation } from './operation';
import { SpinningLogger } from './spinning-logger';
export interface PlanProps {
    readonly operations: AmplifyMigrationOperation[];
    readonly logger: SpinningLogger;
    readonly title: string;
    readonly implications?: string[];
}
export declare class Plan {
    private readonly operations;
    private readonly logger;
    private readonly title;
    private readonly implications;
    constructor(props: PlanProps);
    addOperation(operation: AmplifyMigrationOperation): void;
    validate(): Promise<boolean>;
    describe(): Promise<void>;
    execute(): Promise<void>;
    private renderValidationResults;
}
//# sourceMappingURL=plan.d.ts.map