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 DsLbTargetGroupArgs {
    arn?: string | core.StringOut;
    name?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsLbTargetGroup extends core.Data<DsLbTargetGroupArgs> {
    arn?: string | core.StringOut;
    arnSuffix: string | core.StringOut;
    connectionTermination: boolean | core.BooleanOut;
    deregistrationDelay: number | core.NumberOut;
    healthCheck: core.Array<HealthCheck> | core.ArrayOut<HealthCheck>;
    id: string | core.StringOut;
    lambdaMultiValueHeadersEnabled: boolean | core.BooleanOut;
    loadBalancingAlgorithmType: string | core.StringOut;
    name?: 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: core.Array<Stickiness> | core.ArrayOut<Stickiness>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    targetType: string | core.StringOut;
    vpcId: string | core.StringOut;
    constructor(name: string, args?: DsLbTargetGroupArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_lb_target_group.d.ts.map