import * as core from "@terrascript/core";
export interface HealthCheckArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    healthyThreshold?: number | core.NumberOut;
    interval?: number | core.NumberOut;
    matcher?: string | core.StringOut;
    path?: string | core.StringOut;
    port?: string | core.StringOut;
    protocol?: string | core.StringOut;
    timeout?: number | core.NumberOut;
    unhealthyThreshold?: number | core.NumberOut;
}
export declare class HealthCheck extends core.Schema<HealthCheckArgs> {
    enabled?: boolean | core.BooleanOut;
    healthyThreshold?: number | core.NumberOut;
    interval?: number | core.NumberOut;
    matcher?: string | core.StringOut;
    path?: string | core.StringOut;
    port?: string | core.StringOut;
    protocol?: string | core.StringOut;
    timeout?: number | core.NumberOut;
    unhealthyThreshold?: number | core.NumberOut;
}
export interface StickinessArgs extends core.SchemaArgs {
    cookieDuration?: number | core.NumberOut;
    cookieName?: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
    type: string | core.StringOut;
}
export declare class Stickiness extends core.Schema<StickinessArgs> {
    cookieDuration?: number | core.NumberOut;
    cookieName?: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
    type: string | core.StringOut;
}
export interface LbTargetGroupArgs extends core.ResourceArgs {
    connectionTermination?: boolean | core.BooleanOut;
    deregistrationDelay?: string | core.StringOut;
    healthCheck?: HealthCheck;
    ipAddressType?: string | core.StringOut;
    lambdaMultiValueHeadersEnabled?: boolean | core.BooleanOut;
    loadBalancingAlgorithmType?: string | core.StringOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    port?: number | core.NumberOut;
    preserveClientIp?: string | core.StringOut;
    protocol?: string | core.StringOut;
    protocolVersion?: string | core.StringOut;
    proxyProtocolV2?: boolean | core.BooleanOut;
    slowStart?: number | core.NumberOut;
    stickiness?: Stickiness;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    targetType?: string | core.StringOut;
    vpcId?: string | core.StringOut;
}
export declare class LbTargetGroup extends core.Resource<LbTargetGroupArgs> {
    arn: string | core.StringOut;
    arnSuffix: string | core.StringOut;
    connectionTermination?: boolean | core.BooleanOut;
    deregistrationDelay?: string | core.StringOut;
    healthCheck?: HealthCheck;
    id: string | core.StringOut;
    ipAddressType?: string | core.StringOut;
    lambdaMultiValueHeadersEnabled?: boolean | core.BooleanOut;
    loadBalancingAlgorithmType?: string | core.StringOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    port?: number | core.NumberOut;
    preserveClientIp?: string | core.StringOut;
    protocol?: string | core.StringOut;
    protocolVersion?: string | core.StringOut;
    proxyProtocolV2?: boolean | core.BooleanOut;
    slowStart?: number | core.NumberOut;
    stickiness?: Stickiness;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    targetType?: string | core.StringOut;
    vpcId?: string | core.StringOut;
    constructor(name: string, args?: LbTargetGroupArgs);
    getNamespace(): string;
}
//# sourceMappingURL=lb_target_group.d.ts.map