/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataAwsLbListenerRuleConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#arn DataAwsLbListenerRule#arn}
    */
    readonly arn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#listener_arn DataAwsLbListenerRule#listener_arn}
    */
    readonly listenerArn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#priority DataAwsLbListenerRule#priority}
    */
    readonly priority?: number;
    /**
    * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#region DataAwsLbListenerRule#region}
    */
    readonly region?: string;
    /**
    * action block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#action DataAwsLbListenerRule#action}
    */
    readonly action?: DataAwsLbListenerRuleAction[] | cdktf.IResolvable;
    /**
    * condition block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#condition DataAwsLbListenerRule#condition}
    */
    readonly condition?: DataAwsLbListenerRuleCondition[] | cdktf.IResolvable;
    /**
    * transform block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#transform DataAwsLbListenerRule#transform}
    */
    readonly transform?: DataAwsLbListenerRuleTransform[] | cdktf.IResolvable;
}
export interface DataAwsLbListenerRuleActionAuthenticateCognito {
}
export declare function dataAwsLbListenerRuleActionAuthenticateCognitoToTerraform(struct?: DataAwsLbListenerRuleActionAuthenticateCognito | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionAuthenticateCognitoToHclTerraform(struct?: DataAwsLbListenerRuleActionAuthenticateCognito | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionAuthenticateCognitoOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionAuthenticateCognito | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionAuthenticateCognito | cdktf.IResolvable | undefined);
    private _authenticationRequestExtraParams;
    get authenticationRequestExtraParams(): cdktf.StringMap;
    get onUnauthenticatedRequest(): string;
    get scope(): string;
    get sessionCookieName(): string;
    get sessionTimeout(): number;
    get userPoolArn(): string;
    get userPoolClientId(): string;
    get userPoolDomain(): string;
}
export declare class DataAwsLbListenerRuleActionAuthenticateCognitoList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionAuthenticateCognito[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionAuthenticateCognitoOutputReference;
}
export interface DataAwsLbListenerRuleActionAuthenticateOidc {
}
export declare function dataAwsLbListenerRuleActionAuthenticateOidcToTerraform(struct?: DataAwsLbListenerRuleActionAuthenticateOidc | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionAuthenticateOidcToHclTerraform(struct?: DataAwsLbListenerRuleActionAuthenticateOidc | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionAuthenticateOidcOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionAuthenticateOidc | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionAuthenticateOidc | cdktf.IResolvable | undefined);
    private _authenticationRequestExtraParams;
    get authenticationRequestExtraParams(): cdktf.StringMap;
    get authorizationEndpoint(): string;
    get clientId(): string;
    get issuer(): string;
    get onUnauthenticatedRequest(): string;
    get scope(): string;
    get sessionCookieName(): string;
    get sessionTimeout(): number;
    get tokenEndpoint(): string;
    get userInfoEndpoint(): string;
}
export declare class DataAwsLbListenerRuleActionAuthenticateOidcList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionAuthenticateOidc[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionAuthenticateOidcOutputReference;
}
export interface DataAwsLbListenerRuleActionFixedResponse {
}
export declare function dataAwsLbListenerRuleActionFixedResponseToTerraform(struct?: DataAwsLbListenerRuleActionFixedResponse | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionFixedResponseToHclTerraform(struct?: DataAwsLbListenerRuleActionFixedResponse | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionFixedResponseOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionFixedResponse | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionFixedResponse | cdktf.IResolvable | undefined);
    get contentType(): string;
    get messageBody(): string;
    get statusCode(): string;
}
export declare class DataAwsLbListenerRuleActionFixedResponseList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionFixedResponse[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionFixedResponseOutputReference;
}
export interface DataAwsLbListenerRuleActionForwardStickiness {
}
export declare function dataAwsLbListenerRuleActionForwardStickinessToTerraform(struct?: DataAwsLbListenerRuleActionForwardStickiness | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionForwardStickinessToHclTerraform(struct?: DataAwsLbListenerRuleActionForwardStickiness | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionForwardStickinessOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionForwardStickiness | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionForwardStickiness | cdktf.IResolvable | undefined);
    get duration(): number;
    get enabled(): cdktf.IResolvable;
}
export declare class DataAwsLbListenerRuleActionForwardStickinessList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionForwardStickiness[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionForwardStickinessOutputReference;
}
export interface DataAwsLbListenerRuleActionForwardTargetGroup {
}
export declare function dataAwsLbListenerRuleActionForwardTargetGroupToTerraform(struct?: DataAwsLbListenerRuleActionForwardTargetGroup | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionForwardTargetGroupToHclTerraform(struct?: DataAwsLbListenerRuleActionForwardTargetGroup | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionForwardTargetGroupOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionForwardTargetGroup | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionForwardTargetGroup | cdktf.IResolvable | undefined);
    get arn(): string;
    get weight(): number;
}
export declare class DataAwsLbListenerRuleActionForwardTargetGroupList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionForwardTargetGroup[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionForwardTargetGroupOutputReference;
}
export interface DataAwsLbListenerRuleActionForward {
    /**
    * stickiness block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#stickiness DataAwsLbListenerRule#stickiness}
    */
    readonly stickiness?: DataAwsLbListenerRuleActionForwardStickiness[] | cdktf.IResolvable;
    /**
    * target_group block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#target_group DataAwsLbListenerRule#target_group}
    */
    readonly targetGroup?: DataAwsLbListenerRuleActionForwardTargetGroup[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleActionForwardToTerraform(struct?: DataAwsLbListenerRuleActionForward | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionForwardToHclTerraform(struct?: DataAwsLbListenerRuleActionForward | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionForwardOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionForward | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionForward | cdktf.IResolvable | undefined);
    private _stickiness;
    get stickiness(): DataAwsLbListenerRuleActionForwardStickinessList;
    putStickiness(value: DataAwsLbListenerRuleActionForwardStickiness[] | cdktf.IResolvable): void;
    resetStickiness(): void;
    get stickinessInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionForwardStickiness[] | undefined;
    private _targetGroup;
    get targetGroup(): DataAwsLbListenerRuleActionForwardTargetGroupList;
    putTargetGroup(value: DataAwsLbListenerRuleActionForwardTargetGroup[] | cdktf.IResolvable): void;
    resetTargetGroup(): void;
    get targetGroupInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionForwardTargetGroup[] | undefined;
}
export declare class DataAwsLbListenerRuleActionForwardList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionForward[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionForwardOutputReference;
}
export interface DataAwsLbListenerRuleActionJwtValidationAdditionalClaim {
}
export declare function dataAwsLbListenerRuleActionJwtValidationAdditionalClaimToTerraform(struct?: DataAwsLbListenerRuleActionJwtValidationAdditionalClaim | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionJwtValidationAdditionalClaimToHclTerraform(struct?: DataAwsLbListenerRuleActionJwtValidationAdditionalClaim | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionJwtValidationAdditionalClaimOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionJwtValidationAdditionalClaim | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionJwtValidationAdditionalClaim | cdktf.IResolvable | undefined);
    get format(): string;
    get name(): string;
    get values(): string[];
}
export declare class DataAwsLbListenerRuleActionJwtValidationAdditionalClaimList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionJwtValidationAdditionalClaim[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionJwtValidationAdditionalClaimOutputReference;
}
export interface DataAwsLbListenerRuleActionJwtValidation {
    /**
    * additional_claim block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#additional_claim DataAwsLbListenerRule#additional_claim}
    */
    readonly additionalClaim?: DataAwsLbListenerRuleActionJwtValidationAdditionalClaim[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleActionJwtValidationToTerraform(struct?: DataAwsLbListenerRuleActionJwtValidation | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionJwtValidationToHclTerraform(struct?: DataAwsLbListenerRuleActionJwtValidation | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionJwtValidationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionJwtValidation | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionJwtValidation | cdktf.IResolvable | undefined);
    get issuer(): string;
    get jwksEndpoint(): string;
    private _additionalClaim;
    get additionalClaim(): DataAwsLbListenerRuleActionJwtValidationAdditionalClaimList;
    putAdditionalClaim(value: DataAwsLbListenerRuleActionJwtValidationAdditionalClaim[] | cdktf.IResolvable): void;
    resetAdditionalClaim(): void;
    get additionalClaimInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionJwtValidationAdditionalClaim[] | undefined;
}
export declare class DataAwsLbListenerRuleActionJwtValidationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionJwtValidation[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionJwtValidationOutputReference;
}
export interface DataAwsLbListenerRuleActionRedirect {
}
export declare function dataAwsLbListenerRuleActionRedirectToTerraform(struct?: DataAwsLbListenerRuleActionRedirect | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionRedirectToHclTerraform(struct?: DataAwsLbListenerRuleActionRedirect | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionRedirectOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleActionRedirect | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleActionRedirect | cdktf.IResolvable | undefined);
    get host(): string;
    get path(): string;
    get port(): string;
    get protocol(): string;
    get query(): string;
    get statusCode(): string;
}
export declare class DataAwsLbListenerRuleActionRedirectList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleActionRedirect[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionRedirectOutputReference;
}
export interface DataAwsLbListenerRuleAction {
    /**
    * authenticate_cognito block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#authenticate_cognito DataAwsLbListenerRule#authenticate_cognito}
    */
    readonly authenticateCognito?: DataAwsLbListenerRuleActionAuthenticateCognito[] | cdktf.IResolvable;
    /**
    * authenticate_oidc block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#authenticate_oidc DataAwsLbListenerRule#authenticate_oidc}
    */
    readonly authenticateOidc?: DataAwsLbListenerRuleActionAuthenticateOidc[] | cdktf.IResolvable;
    /**
    * fixed_response block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#fixed_response DataAwsLbListenerRule#fixed_response}
    */
    readonly fixedResponse?: DataAwsLbListenerRuleActionFixedResponse[] | cdktf.IResolvable;
    /**
    * forward block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#forward DataAwsLbListenerRule#forward}
    */
    readonly forward?: DataAwsLbListenerRuleActionForward[] | cdktf.IResolvable;
    /**
    * jwt_validation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#jwt_validation DataAwsLbListenerRule#jwt_validation}
    */
    readonly jwtValidation?: DataAwsLbListenerRuleActionJwtValidation[] | cdktf.IResolvable;
    /**
    * redirect block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#redirect DataAwsLbListenerRule#redirect}
    */
    readonly redirect?: DataAwsLbListenerRuleActionRedirect[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleActionToTerraform(struct?: DataAwsLbListenerRuleAction | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleActionToHclTerraform(struct?: DataAwsLbListenerRuleAction | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleActionOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleAction | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleAction | cdktf.IResolvable | undefined);
    get order(): number;
    get type(): string;
    private _authenticateCognito;
    get authenticateCognito(): DataAwsLbListenerRuleActionAuthenticateCognitoList;
    putAuthenticateCognito(value: DataAwsLbListenerRuleActionAuthenticateCognito[] | cdktf.IResolvable): void;
    resetAuthenticateCognito(): void;
    get authenticateCognitoInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionAuthenticateCognito[] | undefined;
    private _authenticateOidc;
    get authenticateOidc(): DataAwsLbListenerRuleActionAuthenticateOidcList;
    putAuthenticateOidc(value: DataAwsLbListenerRuleActionAuthenticateOidc[] | cdktf.IResolvable): void;
    resetAuthenticateOidc(): void;
    get authenticateOidcInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionAuthenticateOidc[] | undefined;
    private _fixedResponse;
    get fixedResponse(): DataAwsLbListenerRuleActionFixedResponseList;
    putFixedResponse(value: DataAwsLbListenerRuleActionFixedResponse[] | cdktf.IResolvable): void;
    resetFixedResponse(): void;
    get fixedResponseInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionFixedResponse[] | undefined;
    private _forward;
    get forward(): DataAwsLbListenerRuleActionForwardList;
    putForward(value: DataAwsLbListenerRuleActionForward[] | cdktf.IResolvable): void;
    resetForward(): void;
    get forwardInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionForward[] | undefined;
    private _jwtValidation;
    get jwtValidation(): DataAwsLbListenerRuleActionJwtValidationList;
    putJwtValidation(value: DataAwsLbListenerRuleActionJwtValidation[] | cdktf.IResolvable): void;
    resetJwtValidation(): void;
    get jwtValidationInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionJwtValidation[] | undefined;
    private _redirect;
    get redirect(): DataAwsLbListenerRuleActionRedirectList;
    putRedirect(value: DataAwsLbListenerRuleActionRedirect[] | cdktf.IResolvable): void;
    resetRedirect(): void;
    get redirectInput(): cdktf.IResolvable | DataAwsLbListenerRuleActionRedirect[] | undefined;
}
export declare class DataAwsLbListenerRuleActionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleAction[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleActionOutputReference;
}
export interface DataAwsLbListenerRuleConditionHostHeader {
}
export declare function dataAwsLbListenerRuleConditionHostHeaderToTerraform(struct?: DataAwsLbListenerRuleConditionHostHeader | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionHostHeaderToHclTerraform(struct?: DataAwsLbListenerRuleConditionHostHeader | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionHostHeaderOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionHostHeader | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionHostHeader | cdktf.IResolvable | undefined);
    get regexValues(): string[];
    get values(): string[];
}
export declare class DataAwsLbListenerRuleConditionHostHeaderList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionHostHeader[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionHostHeaderOutputReference;
}
export interface DataAwsLbListenerRuleConditionHttpHeader {
}
export declare function dataAwsLbListenerRuleConditionHttpHeaderToTerraform(struct?: DataAwsLbListenerRuleConditionHttpHeader | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionHttpHeaderToHclTerraform(struct?: DataAwsLbListenerRuleConditionHttpHeader | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionHttpHeaderOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionHttpHeader | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionHttpHeader | cdktf.IResolvable | undefined);
    get httpHeaderName(): string;
    get regexValues(): string[];
    get values(): string[];
}
export declare class DataAwsLbListenerRuleConditionHttpHeaderList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionHttpHeader[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionHttpHeaderOutputReference;
}
export interface DataAwsLbListenerRuleConditionHttpRequestMethod {
}
export declare function dataAwsLbListenerRuleConditionHttpRequestMethodToTerraform(struct?: DataAwsLbListenerRuleConditionHttpRequestMethod | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionHttpRequestMethodToHclTerraform(struct?: DataAwsLbListenerRuleConditionHttpRequestMethod | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionHttpRequestMethodOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionHttpRequestMethod | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionHttpRequestMethod | cdktf.IResolvable | undefined);
    get values(): string[];
}
export declare class DataAwsLbListenerRuleConditionHttpRequestMethodList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionHttpRequestMethod[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionHttpRequestMethodOutputReference;
}
export interface DataAwsLbListenerRuleConditionPathPattern {
}
export declare function dataAwsLbListenerRuleConditionPathPatternToTerraform(struct?: DataAwsLbListenerRuleConditionPathPattern | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionPathPatternToHclTerraform(struct?: DataAwsLbListenerRuleConditionPathPattern | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionPathPatternOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionPathPattern | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionPathPattern | cdktf.IResolvable | undefined);
    get regexValues(): string[];
    get values(): string[];
}
export declare class DataAwsLbListenerRuleConditionPathPatternList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionPathPattern[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionPathPatternOutputReference;
}
export interface DataAwsLbListenerRuleConditionQueryStringValues {
}
export declare function dataAwsLbListenerRuleConditionQueryStringValuesToTerraform(struct?: DataAwsLbListenerRuleConditionQueryStringValues | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionQueryStringValuesToHclTerraform(struct?: DataAwsLbListenerRuleConditionQueryStringValues | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionQueryStringValuesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionQueryStringValues | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionQueryStringValues | cdktf.IResolvable | undefined);
    get key(): string;
    get value(): string;
}
export declare class DataAwsLbListenerRuleConditionQueryStringValuesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionQueryStringValues[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionQueryStringValuesOutputReference;
}
export interface DataAwsLbListenerRuleConditionQueryString {
    /**
    * values block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#values DataAwsLbListenerRule#values}
    */
    readonly values?: DataAwsLbListenerRuleConditionQueryStringValues[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleConditionQueryStringToTerraform(struct?: DataAwsLbListenerRuleConditionQueryString | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionQueryStringToHclTerraform(struct?: DataAwsLbListenerRuleConditionQueryString | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionQueryStringOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionQueryString | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionQueryString | cdktf.IResolvable | undefined);
    private _values;
    get values(): DataAwsLbListenerRuleConditionQueryStringValuesList;
    putValues(value: DataAwsLbListenerRuleConditionQueryStringValues[] | cdktf.IResolvable): void;
    resetValues(): void;
    get valuesInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionQueryStringValues[] | undefined;
}
export declare class DataAwsLbListenerRuleConditionQueryStringList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionQueryString[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionQueryStringOutputReference;
}
export interface DataAwsLbListenerRuleConditionSourceIp {
}
export declare function dataAwsLbListenerRuleConditionSourceIpToTerraform(struct?: DataAwsLbListenerRuleConditionSourceIp | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionSourceIpToHclTerraform(struct?: DataAwsLbListenerRuleConditionSourceIp | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionSourceIpOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleConditionSourceIp | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleConditionSourceIp | cdktf.IResolvable | undefined);
    get values(): string[];
}
export declare class DataAwsLbListenerRuleConditionSourceIpList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleConditionSourceIp[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionSourceIpOutputReference;
}
export interface DataAwsLbListenerRuleCondition {
    /**
    * host_header block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#host_header DataAwsLbListenerRule#host_header}
    */
    readonly hostHeader?: DataAwsLbListenerRuleConditionHostHeader[] | cdktf.IResolvable;
    /**
    * http_header block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#http_header DataAwsLbListenerRule#http_header}
    */
    readonly httpHeader?: DataAwsLbListenerRuleConditionHttpHeader[] | cdktf.IResolvable;
    /**
    * http_request_method block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#http_request_method DataAwsLbListenerRule#http_request_method}
    */
    readonly httpRequestMethod?: DataAwsLbListenerRuleConditionHttpRequestMethod[] | cdktf.IResolvable;
    /**
    * path_pattern block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#path_pattern DataAwsLbListenerRule#path_pattern}
    */
    readonly pathPattern?: DataAwsLbListenerRuleConditionPathPattern[] | cdktf.IResolvable;
    /**
    * query_string block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#query_string DataAwsLbListenerRule#query_string}
    */
    readonly queryString?: DataAwsLbListenerRuleConditionQueryString[] | cdktf.IResolvable;
    /**
    * source_ip block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#source_ip DataAwsLbListenerRule#source_ip}
    */
    readonly sourceIp?: DataAwsLbListenerRuleConditionSourceIp[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleConditionToTerraform(struct?: DataAwsLbListenerRuleCondition | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleConditionToHclTerraform(struct?: DataAwsLbListenerRuleCondition | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleConditionOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleCondition | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleCondition | cdktf.IResolvable | undefined);
    private _hostHeader;
    get hostHeader(): DataAwsLbListenerRuleConditionHostHeaderList;
    putHostHeader(value: DataAwsLbListenerRuleConditionHostHeader[] | cdktf.IResolvable): void;
    resetHostHeader(): void;
    get hostHeaderInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionHostHeader[] | undefined;
    private _httpHeader;
    get httpHeader(): DataAwsLbListenerRuleConditionHttpHeaderList;
    putHttpHeader(value: DataAwsLbListenerRuleConditionHttpHeader[] | cdktf.IResolvable): void;
    resetHttpHeader(): void;
    get httpHeaderInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionHttpHeader[] | undefined;
    private _httpRequestMethod;
    get httpRequestMethod(): DataAwsLbListenerRuleConditionHttpRequestMethodList;
    putHttpRequestMethod(value: DataAwsLbListenerRuleConditionHttpRequestMethod[] | cdktf.IResolvable): void;
    resetHttpRequestMethod(): void;
    get httpRequestMethodInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionHttpRequestMethod[] | undefined;
    private _pathPattern;
    get pathPattern(): DataAwsLbListenerRuleConditionPathPatternList;
    putPathPattern(value: DataAwsLbListenerRuleConditionPathPattern[] | cdktf.IResolvable): void;
    resetPathPattern(): void;
    get pathPatternInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionPathPattern[] | undefined;
    private _queryString;
    get queryString(): DataAwsLbListenerRuleConditionQueryStringList;
    putQueryString(value: DataAwsLbListenerRuleConditionQueryString[] | cdktf.IResolvable): void;
    resetQueryString(): void;
    get queryStringInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionQueryString[] | undefined;
    private _sourceIp;
    get sourceIp(): DataAwsLbListenerRuleConditionSourceIpList;
    putSourceIp(value: DataAwsLbListenerRuleConditionSourceIp[] | cdktf.IResolvable): void;
    resetSourceIp(): void;
    get sourceIpInput(): cdktf.IResolvable | DataAwsLbListenerRuleConditionSourceIp[] | undefined;
}
export declare class DataAwsLbListenerRuleConditionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleCondition[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleConditionOutputReference;
}
export interface DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite {
}
export declare function dataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewriteToTerraform(struct?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewriteToHclTerraform(struct?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewriteOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite | cdktf.IResolvable | undefined);
    get regex(): string;
    get replace(): string;
}
export declare class DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewriteList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewriteOutputReference;
}
export interface DataAwsLbListenerRuleTransformHostHeaderRewriteConfig {
    /**
    * rewrite block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#rewrite DataAwsLbListenerRule#rewrite}
    */
    readonly rewrite?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleTransformHostHeaderRewriteConfigToTerraform(struct?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfig | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleTransformHostHeaderRewriteConfigToHclTerraform(struct?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfig | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleTransformHostHeaderRewriteConfigOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleTransformHostHeaderRewriteConfig | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleTransformHostHeaderRewriteConfig | cdktf.IResolvable | undefined);
    private _rewrite;
    get rewrite(): DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewriteList;
    putRewrite(value: DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite[] | cdktf.IResolvable): void;
    resetRewrite(): void;
    get rewriteInput(): cdktf.IResolvable | DataAwsLbListenerRuleTransformHostHeaderRewriteConfigRewrite[] | undefined;
}
export declare class DataAwsLbListenerRuleTransformHostHeaderRewriteConfigList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfig[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleTransformHostHeaderRewriteConfigOutputReference;
}
export interface DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite {
}
export declare function dataAwsLbListenerRuleTransformUrlRewriteConfigRewriteToTerraform(struct?: DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleTransformUrlRewriteConfigRewriteToHclTerraform(struct?: DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleTransformUrlRewriteConfigRewriteOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite | cdktf.IResolvable | undefined);
    get regex(): string;
    get replace(): string;
}
export declare class DataAwsLbListenerRuleTransformUrlRewriteConfigRewriteList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleTransformUrlRewriteConfigRewriteOutputReference;
}
export interface DataAwsLbListenerRuleTransformUrlRewriteConfig {
    /**
    * rewrite block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#rewrite DataAwsLbListenerRule#rewrite}
    */
    readonly rewrite?: DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleTransformUrlRewriteConfigToTerraform(struct?: DataAwsLbListenerRuleTransformUrlRewriteConfig | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleTransformUrlRewriteConfigToHclTerraform(struct?: DataAwsLbListenerRuleTransformUrlRewriteConfig | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleTransformUrlRewriteConfigOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleTransformUrlRewriteConfig | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleTransformUrlRewriteConfig | cdktf.IResolvable | undefined);
    private _rewrite;
    get rewrite(): DataAwsLbListenerRuleTransformUrlRewriteConfigRewriteList;
    putRewrite(value: DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite[] | cdktf.IResolvable): void;
    resetRewrite(): void;
    get rewriteInput(): cdktf.IResolvable | DataAwsLbListenerRuleTransformUrlRewriteConfigRewrite[] | undefined;
}
export declare class DataAwsLbListenerRuleTransformUrlRewriteConfigList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleTransformUrlRewriteConfig[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleTransformUrlRewriteConfigOutputReference;
}
export interface DataAwsLbListenerRuleTransform {
    /**
    * host_header_rewrite_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#host_header_rewrite_config DataAwsLbListenerRule#host_header_rewrite_config}
    */
    readonly hostHeaderRewriteConfig?: DataAwsLbListenerRuleTransformHostHeaderRewriteConfig[] | cdktf.IResolvable;
    /**
    * url_rewrite_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#url_rewrite_config DataAwsLbListenerRule#url_rewrite_config}
    */
    readonly urlRewriteConfig?: DataAwsLbListenerRuleTransformUrlRewriteConfig[] | cdktf.IResolvable;
}
export declare function dataAwsLbListenerRuleTransformToTerraform(struct?: DataAwsLbListenerRuleTransform | cdktf.IResolvable): any;
export declare function dataAwsLbListenerRuleTransformToHclTerraform(struct?: DataAwsLbListenerRuleTransform | cdktf.IResolvable): any;
export declare class DataAwsLbListenerRuleTransformOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataAwsLbListenerRuleTransform | cdktf.IResolvable | undefined;
    set internalValue(value: DataAwsLbListenerRuleTransform | cdktf.IResolvable | undefined);
    get type(): string;
    private _hostHeaderRewriteConfig;
    get hostHeaderRewriteConfig(): DataAwsLbListenerRuleTransformHostHeaderRewriteConfigList;
    putHostHeaderRewriteConfig(value: DataAwsLbListenerRuleTransformHostHeaderRewriteConfig[] | cdktf.IResolvable): void;
    resetHostHeaderRewriteConfig(): void;
    get hostHeaderRewriteConfigInput(): cdktf.IResolvable | DataAwsLbListenerRuleTransformHostHeaderRewriteConfig[] | undefined;
    private _urlRewriteConfig;
    get urlRewriteConfig(): DataAwsLbListenerRuleTransformUrlRewriteConfigList;
    putUrlRewriteConfig(value: DataAwsLbListenerRuleTransformUrlRewriteConfig[] | cdktf.IResolvable): void;
    resetUrlRewriteConfig(): void;
    get urlRewriteConfigInput(): cdktf.IResolvable | DataAwsLbListenerRuleTransformUrlRewriteConfig[] | undefined;
}
export declare class DataAwsLbListenerRuleTransformList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataAwsLbListenerRuleTransform[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataAwsLbListenerRuleTransformOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule aws_lb_listener_rule}
*/
export declare class DataAwsLbListenerRule extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "aws_lb_listener_rule";
    /**
    * Generates CDKTF code for importing a DataAwsLbListenerRule resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the DataAwsLbListenerRule to import
    * @param importFromId The id of the existing DataAwsLbListenerRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataAwsLbListenerRule to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lb_listener_rule aws_lb_listener_rule} Data Source
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options DataAwsLbListenerRuleConfig = {}
    */
    constructor(scope: Construct, id: string, config?: DataAwsLbListenerRuleConfig);
    private _arn?;
    get arn(): string;
    set arn(value: string);
    resetArn(): void;
    get arnInput(): string | undefined;
    private _listenerArn?;
    get listenerArn(): string;
    set listenerArn(value: string);
    resetListenerArn(): void;
    get listenerArnInput(): string | undefined;
    private _priority?;
    get priority(): number;
    set priority(value: number);
    resetPriority(): void;
    get priorityInput(): number | undefined;
    private _region?;
    get region(): string;
    set region(value: string);
    resetRegion(): void;
    get regionInput(): string | undefined;
    private _tags;
    get tags(): cdktf.StringMap;
    private _action;
    get action(): DataAwsLbListenerRuleActionList;
    putAction(value: DataAwsLbListenerRuleAction[] | cdktf.IResolvable): void;
    resetAction(): void;
    get actionInput(): cdktf.IResolvable | DataAwsLbListenerRuleAction[] | undefined;
    private _condition;
    get condition(): DataAwsLbListenerRuleConditionList;
    putCondition(value: DataAwsLbListenerRuleCondition[] | cdktf.IResolvable): void;
    resetCondition(): void;
    get conditionInput(): cdktf.IResolvable | DataAwsLbListenerRuleCondition[] | undefined;
    private _transform;
    get transform(): DataAwsLbListenerRuleTransformList;
    putTransform(value: DataAwsLbListenerRuleTransform[] | cdktf.IResolvable): void;
    resetTransform(): void;
    get transformInput(): cdktf.IResolvable | DataAwsLbListenerRuleTransform[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
