import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List } from "../../data-types";
export declare class TargetGroupAttribute {
    Key?: Value<string>;
    Value?: Value<string>;
    constructor(properties: TargetGroupAttribute);
}
export declare class TargetDescription {
    AvailabilityZone?: Value<string>;
    Id: Value<string>;
    Port?: Value<number>;
    constructor(properties: TargetDescription);
}
export declare class Matcher {
    HttpCode: Value<string>;
    constructor(properties: Matcher);
}
export interface TargetGroupProperties {
    Port?: Value<number>;
    HealthyThresholdCount?: Value<number>;
    Targets?: List<TargetDescription>;
    HealthCheckProtocol?: Value<string>;
    VpcId?: Value<string>;
    TargetGroupAttributes?: List<TargetGroupAttribute>;
    UnhealthyThresholdCount?: Value<number>;
    HealthCheckTimeoutSeconds?: Value<number>;
    TargetType?: Value<string>;
    Name?: Value<string>;
    HealthCheckPort?: Value<string>;
    HealthCheckIntervalSeconds?: Value<number>;
    HealthCheckPath?: Value<string>;
    Matcher?: Matcher;
    HealthCheckEnabled?: Value<boolean>;
    Protocol?: Value<string>;
    Tags?: List<Inner_ResourceTag>;
}
export default class Inner_TargetGroup extends ResourceBase<TargetGroupProperties> {
    static TargetGroupAttribute: typeof TargetGroupAttribute;
    static TargetDescription: typeof TargetDescription;
    static Matcher: typeof Matcher;
    constructor(properties: TargetGroupProperties);
}
