import React from 'react';
import type { IDeploymentStrategyAdditionalFieldsProps } from '../../deploymentStrategy.registry';
import type { IDeploymentMonitorDefinition } from '../../../pipeline/config/stages/monitoreddeploy/DeploymentMonitorReader';
import type { IServerGroupCommand } from '../../../serverGroup';
export interface IMonitoredDeployCommand extends IServerGroupCommand {
    delayBeforeScaleDownSec: string;
    failureActions: {
        destroyInstances: boolean;
        rollback: string;
    };
    maxRemainingAsgs: number;
    scaleDown: boolean;
    deploySteps: number[] | string;
    deploymentMonitor: {
        id: string;
        parameters: {};
    };
}
export declare enum RollbackType {
    None = "None",
    Automatic = "Automatic",
    Manual = "Manual"
}
export interface IMonitoredDeployStrategyAdditionalFieldsProps extends IDeploymentStrategyAdditionalFieldsProps {
    command: IMonitoredDeployCommand;
}
export interface IMonitoredDeployStrategyAdditionalFieldsState {
    deploymentMonitors: IDeploymentMonitorDefinition[];
}
export declare class AdditionalFields extends React.Component<IMonitoredDeployStrategyAdditionalFieldsProps, IMonitoredDeployStrategyAdditionalFieldsState> {
    state: IMonitoredDeployStrategyAdditionalFieldsState;
    componentDidMount(): void;
    private deployStepsChange;
    private scaleDownChange;
    private rollbackOnFailureChange;
    private destroyFailedAsgChange;
    private maxRemainingAsgsChange;
    private handleDeploymentMonitorChange;
    private handleChange;
    render(): JSX.Element;
}
