import { ResourceBase } from "../../resource";
import { Value, List } from "../../data-types";
export declare class EC2TagFilter {
    Key?: Value<string>;
    Type?: Value<string>;
    Value?: Value<string>;
    constructor(properties: EC2TagFilter);
}
export declare class ELBInfo {
    Name?: Value<string>;
    constructor(properties: ELBInfo);
}
export declare class DeploymentStyle {
    DeploymentOption?: Value<string>;
    DeploymentType?: Value<string>;
    constructor(properties: DeploymentStyle);
}
export declare class AlarmConfiguration {
    Alarms?: List<Alarm>;
    Enabled?: Value<boolean>;
    IgnorePollAlarmFailure?: Value<boolean>;
    constructor(properties: AlarmConfiguration);
}
export declare class Deployment {
    Description?: Value<string>;
    IgnoreApplicationStopFailures?: Value<boolean>;
    Revision: RevisionLocation;
    constructor(properties: Deployment);
}
export declare class OnPremisesTagSetListObject {
    OnPremisesTagGroup?: List<TagFilter>;
    constructor(properties: OnPremisesTagSetListObject);
}
export declare class Alarm {
    Name?: Value<string>;
    constructor(properties: Alarm);
}
export declare class TagFilter {
    Key?: Value<string>;
    Type?: Value<string>;
    Value?: Value<string>;
    constructor(properties: TagFilter);
}
export declare class OnPremisesTagSet {
    OnPremisesTagSetList?: List<OnPremisesTagSetListObject>;
    constructor(properties: OnPremisesTagSet);
}
export declare class LoadBalancerInfo {
    ElbInfoList?: List<ELBInfo>;
    TargetGroupInfoList?: List<TargetGroupInfo>;
    constructor(properties: LoadBalancerInfo);
}
export declare class EC2TagSetListObject {
    Ec2TagGroup?: List<EC2TagFilter>;
    constructor(properties: EC2TagSetListObject);
}
export declare class RevisionLocation {
    GitHubLocation?: GitHubLocation;
    RevisionType?: Value<string>;
    S3Location?: S3Location;
    constructor(properties: RevisionLocation);
}
export declare class TriggerConfig {
    TriggerEvents?: List<Value<string>>;
    TriggerName?: Value<string>;
    TriggerTargetArn?: Value<string>;
    constructor(properties: TriggerConfig);
}
export declare class TargetGroupInfo {
    Name?: Value<string>;
    constructor(properties: TargetGroupInfo);
}
export declare class EC2TagSet {
    Ec2TagSetList?: List<EC2TagSetListObject>;
    constructor(properties: EC2TagSet);
}
export declare class S3Location {
    Bucket: Value<string>;
    BundleType?: Value<string>;
    ETag?: Value<string>;
    Key: Value<string>;
    Version?: Value<string>;
    constructor(properties: S3Location);
}
export declare class GitHubLocation {
    CommitId: Value<string>;
    Repository: Value<string>;
    constructor(properties: GitHubLocation);
}
export declare class AutoRollbackConfiguration {
    Enabled?: Value<boolean>;
    Events?: List<Value<string>>;
    constructor(properties: AutoRollbackConfiguration);
}
export interface DeploymentGroupProperties {
    AutoRollbackConfiguration?: AutoRollbackConfiguration;
    DeploymentGroupName?: Value<string>;
    AlarmConfiguration?: AlarmConfiguration;
    Deployment?: Deployment;
    OnPremisesTagSet?: OnPremisesTagSet;
    LoadBalancerInfo?: LoadBalancerInfo;
    DeploymentStyle?: DeploymentStyle;
    AutoScalingGroups?: List<Value<string>>;
    ServiceRoleArn: Value<string>;
    DeploymentConfigName?: Value<string>;
    Ec2TagFilters?: List<EC2TagFilter>;
    TriggerConfigurations?: List<TriggerConfig>;
    OnPremisesInstanceTagFilters?: List<TagFilter>;
    ApplicationName: Value<string>;
    Ec2TagSet?: EC2TagSet;
}
export default class Inner_DeploymentGroup extends ResourceBase<DeploymentGroupProperties> {
    static EC2TagFilter: typeof EC2TagFilter;
    static ELBInfo: typeof ELBInfo;
    static DeploymentStyle: typeof DeploymentStyle;
    static AlarmConfiguration: typeof AlarmConfiguration;
    static Deployment: typeof Deployment;
    static OnPremisesTagSetListObject: typeof OnPremisesTagSetListObject;
    static Alarm: typeof Alarm;
    static TagFilter: typeof TagFilter;
    static OnPremisesTagSet: typeof OnPremisesTagSet;
    static LoadBalancerInfo: typeof LoadBalancerInfo;
    static EC2TagSetListObject: typeof EC2TagSetListObject;
    static RevisionLocation: typeof RevisionLocation;
    static TriggerConfig: typeof TriggerConfig;
    static TargetGroupInfo: typeof TargetGroupInfo;
    static EC2TagSet: typeof EC2TagSet;
    static S3Location: typeof S3Location;
    static GitHubLocation: typeof GitHubLocation;
    static AutoRollbackConfiguration: typeof AutoRollbackConfiguration;
    constructor(properties: DeploymentGroupProperties);
}
