/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface LambdaCapacityProviderConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#capacity_provider_scaling_config LambdaCapacityProvider#capacity_provider_scaling_config}
    */
    readonly capacityProviderScalingConfig?: LambdaCapacityProviderCapacityProviderScalingConfig[] | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#instance_requirements LambdaCapacityProvider#instance_requirements}
    */
    readonly instanceRequirements?: LambdaCapacityProviderInstanceRequirements[] | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#kms_key_arn LambdaCapacityProvider#kms_key_arn}
    */
    readonly kmsKeyArn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#name LambdaCapacityProvider#name}
    */
    readonly name: string;
    /**
    * 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/resources/lambda_capacity_provider#region LambdaCapacityProvider#region}
    */
    readonly region?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#tags LambdaCapacityProvider#tags}
    */
    readonly tags?: {
        [key: string]: string;
    };
    /**
    * permissions_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#permissions_config LambdaCapacityProvider#permissions_config}
    */
    readonly permissionsConfig?: LambdaCapacityProviderPermissionsConfig[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#timeouts LambdaCapacityProvider#timeouts}
    */
    readonly timeouts?: LambdaCapacityProviderTimeouts;
    /**
    * vpc_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#vpc_config LambdaCapacityProvider#vpc_config}
    */
    readonly vpcConfig?: LambdaCapacityProviderVpcConfig[] | cdktf.IResolvable;
}
export interface LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#predefined_metric_type LambdaCapacityProvider#predefined_metric_type}
    */
    readonly predefinedMetricType?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#target_value LambdaCapacityProvider#target_value}
    */
    readonly targetValue?: number;
}
export declare function lambdaCapacityProviderCapacityProviderScalingConfigScalingPoliciesToTerraform(struct?: LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies | cdktf.IResolvable): any;
export declare function lambdaCapacityProviderCapacityProviderScalingConfigScalingPoliciesToHclTerraform(struct?: LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies | cdktf.IResolvable): any;
export declare class LambdaCapacityProviderCapacityProviderScalingConfigScalingPoliciesOutputReference 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(): LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies | cdktf.IResolvable | undefined;
    set internalValue(value: LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies | cdktf.IResolvable | undefined);
    private _predefinedMetricType?;
    get predefinedMetricType(): string;
    set predefinedMetricType(value: string);
    resetPredefinedMetricType(): void;
    get predefinedMetricTypeInput(): string | undefined;
    private _targetValue?;
    get targetValue(): number;
    set targetValue(value: number);
    resetTargetValue(): void;
    get targetValueInput(): number | undefined;
}
export declare class LambdaCapacityProviderCapacityProviderScalingConfigScalingPoliciesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies[] | 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): LambdaCapacityProviderCapacityProviderScalingConfigScalingPoliciesOutputReference;
}
export interface LambdaCapacityProviderCapacityProviderScalingConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#max_vcpu_count LambdaCapacityProvider#max_vcpu_count}
    */
    readonly maxVcpuCount?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#scaling_mode LambdaCapacityProvider#scaling_mode}
    */
    readonly scalingMode?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#scaling_policies LambdaCapacityProvider#scaling_policies}
    */
    readonly scalingPolicies?: LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies[] | cdktf.IResolvable;
}
export declare function lambdaCapacityProviderCapacityProviderScalingConfigToTerraform(struct?: LambdaCapacityProviderCapacityProviderScalingConfig | cdktf.IResolvable): any;
export declare function lambdaCapacityProviderCapacityProviderScalingConfigToHclTerraform(struct?: LambdaCapacityProviderCapacityProviderScalingConfig | cdktf.IResolvable): any;
export declare class LambdaCapacityProviderCapacityProviderScalingConfigOutputReference 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(): LambdaCapacityProviderCapacityProviderScalingConfig | cdktf.IResolvable | undefined;
    set internalValue(value: LambdaCapacityProviderCapacityProviderScalingConfig | cdktf.IResolvable | undefined);
    private _maxVcpuCount?;
    get maxVcpuCount(): number;
    set maxVcpuCount(value: number);
    resetMaxVcpuCount(): void;
    get maxVcpuCountInput(): number | undefined;
    private _scalingMode?;
    get scalingMode(): string;
    set scalingMode(value: string);
    resetScalingMode(): void;
    get scalingModeInput(): string | undefined;
    private _scalingPolicies;
    get scalingPolicies(): LambdaCapacityProviderCapacityProviderScalingConfigScalingPoliciesList;
    putScalingPolicies(value: LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies[] | cdktf.IResolvable): void;
    resetScalingPolicies(): void;
    get scalingPoliciesInput(): cdktf.IResolvable | LambdaCapacityProviderCapacityProviderScalingConfigScalingPolicies[] | undefined;
}
export declare class LambdaCapacityProviderCapacityProviderScalingConfigList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: LambdaCapacityProviderCapacityProviderScalingConfig[] | 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): LambdaCapacityProviderCapacityProviderScalingConfigOutputReference;
}
export interface LambdaCapacityProviderInstanceRequirements {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#allowed_instance_types LambdaCapacityProvider#allowed_instance_types}
    */
    readonly allowedInstanceTypes?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#architectures LambdaCapacityProvider#architectures}
    */
    readonly architectures?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#excluded_instance_types LambdaCapacityProvider#excluded_instance_types}
    */
    readonly excludedInstanceTypes?: string[];
}
export declare function lambdaCapacityProviderInstanceRequirementsToTerraform(struct?: LambdaCapacityProviderInstanceRequirements | cdktf.IResolvable): any;
export declare function lambdaCapacityProviderInstanceRequirementsToHclTerraform(struct?: LambdaCapacityProviderInstanceRequirements | cdktf.IResolvable): any;
export declare class LambdaCapacityProviderInstanceRequirementsOutputReference 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(): LambdaCapacityProviderInstanceRequirements | cdktf.IResolvable | undefined;
    set internalValue(value: LambdaCapacityProviderInstanceRequirements | cdktf.IResolvable | undefined);
    private _allowedInstanceTypes?;
    get allowedInstanceTypes(): string[];
    set allowedInstanceTypes(value: string[]);
    resetAllowedInstanceTypes(): void;
    get allowedInstanceTypesInput(): string[] | undefined;
    private _architectures?;
    get architectures(): string[];
    set architectures(value: string[]);
    resetArchitectures(): void;
    get architecturesInput(): string[] | undefined;
    private _excludedInstanceTypes?;
    get excludedInstanceTypes(): string[];
    set excludedInstanceTypes(value: string[]);
    resetExcludedInstanceTypes(): void;
    get excludedInstanceTypesInput(): string[] | undefined;
}
export declare class LambdaCapacityProviderInstanceRequirementsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: LambdaCapacityProviderInstanceRequirements[] | 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): LambdaCapacityProviderInstanceRequirementsOutputReference;
}
export interface LambdaCapacityProviderPermissionsConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#capacity_provider_operator_role_arn LambdaCapacityProvider#capacity_provider_operator_role_arn}
    */
    readonly capacityProviderOperatorRoleArn: string;
}
export declare function lambdaCapacityProviderPermissionsConfigToTerraform(struct?: LambdaCapacityProviderPermissionsConfig | cdktf.IResolvable): any;
export declare function lambdaCapacityProviderPermissionsConfigToHclTerraform(struct?: LambdaCapacityProviderPermissionsConfig | cdktf.IResolvable): any;
export declare class LambdaCapacityProviderPermissionsConfigOutputReference 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(): LambdaCapacityProviderPermissionsConfig | cdktf.IResolvable | undefined;
    set internalValue(value: LambdaCapacityProviderPermissionsConfig | cdktf.IResolvable | undefined);
    private _capacityProviderOperatorRoleArn?;
    get capacityProviderOperatorRoleArn(): string;
    set capacityProviderOperatorRoleArn(value: string);
    get capacityProviderOperatorRoleArnInput(): string | undefined;
}
export declare class LambdaCapacityProviderPermissionsConfigList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: LambdaCapacityProviderPermissionsConfig[] | 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): LambdaCapacityProviderPermissionsConfigOutputReference;
}
export interface LambdaCapacityProviderTimeouts {
    /**
    * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#create LambdaCapacityProvider#create}
    */
    readonly create?: string;
    /**
    * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#delete LambdaCapacityProvider#delete}
    */
    readonly delete?: string;
    /**
    * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#update LambdaCapacityProvider#update}
    */
    readonly update?: string;
}
export declare function lambdaCapacityProviderTimeoutsToTerraform(struct?: LambdaCapacityProviderTimeouts | cdktf.IResolvable): any;
export declare function lambdaCapacityProviderTimeoutsToHclTerraform(struct?: LambdaCapacityProviderTimeouts | cdktf.IResolvable): any;
export declare class LambdaCapacityProviderTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): LambdaCapacityProviderTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: LambdaCapacityProviderTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
export interface LambdaCapacityProviderVpcConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#security_group_ids LambdaCapacityProvider#security_group_ids}
    */
    readonly securityGroupIds: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#subnet_ids LambdaCapacityProvider#subnet_ids}
    */
    readonly subnetIds: string[];
}
export declare function lambdaCapacityProviderVpcConfigToTerraform(struct?: LambdaCapacityProviderVpcConfig | cdktf.IResolvable): any;
export declare function lambdaCapacityProviderVpcConfigToHclTerraform(struct?: LambdaCapacityProviderVpcConfig | cdktf.IResolvable): any;
export declare class LambdaCapacityProviderVpcConfigOutputReference 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(): LambdaCapacityProviderVpcConfig | cdktf.IResolvable | undefined;
    set internalValue(value: LambdaCapacityProviderVpcConfig | cdktf.IResolvable | undefined);
    private _securityGroupIds?;
    get securityGroupIds(): string[];
    set securityGroupIds(value: string[]);
    get securityGroupIdsInput(): string[] | undefined;
    private _subnetIds?;
    get subnetIds(): string[];
    set subnetIds(value: string[]);
    get subnetIdsInput(): string[] | undefined;
}
export declare class LambdaCapacityProviderVpcConfigList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: LambdaCapacityProviderVpcConfig[] | 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): LambdaCapacityProviderVpcConfigOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider aws_lambda_capacity_provider}
*/
export declare class LambdaCapacityProvider extends cdktf.TerraformResource {
    static readonly tfResourceType = "aws_lambda_capacity_provider";
    /**
    * Generates CDKTF code for importing a LambdaCapacityProvider 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 LambdaCapacityProvider to import
    * @param importFromId The id of the existing LambdaCapacityProvider that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lambda_capacity_provider#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the LambdaCapacityProvider 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/resources/lambda_capacity_provider aws_lambda_capacity_provider} Resource
    *
    * @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 LambdaCapacityProviderConfig
    */
    constructor(scope: Construct, id: string, config: LambdaCapacityProviderConfig);
    get arn(): string;
    private _capacityProviderScalingConfig;
    get capacityProviderScalingConfig(): LambdaCapacityProviderCapacityProviderScalingConfigList;
    putCapacityProviderScalingConfig(value: LambdaCapacityProviderCapacityProviderScalingConfig[] | cdktf.IResolvable): void;
    resetCapacityProviderScalingConfig(): void;
    get capacityProviderScalingConfigInput(): cdktf.IResolvable | LambdaCapacityProviderCapacityProviderScalingConfig[] | undefined;
    private _instanceRequirements;
    get instanceRequirements(): LambdaCapacityProviderInstanceRequirementsList;
    putInstanceRequirements(value: LambdaCapacityProviderInstanceRequirements[] | cdktf.IResolvable): void;
    resetInstanceRequirements(): void;
    get instanceRequirementsInput(): cdktf.IResolvable | LambdaCapacityProviderInstanceRequirements[] | undefined;
    private _kmsKeyArn?;
    get kmsKeyArn(): string;
    set kmsKeyArn(value: string);
    resetKmsKeyArn(): void;
    get kmsKeyArnInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _region?;
    get region(): string;
    set region(value: string);
    resetRegion(): void;
    get regionInput(): string | undefined;
    private _tags?;
    get tags(): {
        [key: string]: string;
    };
    set tags(value: {
        [key: string]: string;
    });
    resetTags(): void;
    get tagsInput(): {
        [key: string]: string;
    } | undefined;
    private _tagsAll;
    get tagsAll(): cdktf.StringMap;
    private _permissionsConfig;
    get permissionsConfig(): LambdaCapacityProviderPermissionsConfigList;
    putPermissionsConfig(value: LambdaCapacityProviderPermissionsConfig[] | cdktf.IResolvable): void;
    resetPermissionsConfig(): void;
    get permissionsConfigInput(): cdktf.IResolvable | LambdaCapacityProviderPermissionsConfig[] | undefined;
    private _timeouts;
    get timeouts(): LambdaCapacityProviderTimeoutsOutputReference;
    putTimeouts(value: LambdaCapacityProviderTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | LambdaCapacityProviderTimeouts | undefined;
    private _vpcConfig;
    get vpcConfig(): LambdaCapacityProviderVpcConfigList;
    putVpcConfig(value: LambdaCapacityProviderVpcConfig[] | cdktf.IResolvable): void;
    resetVpcConfig(): void;
    get vpcConfigInput(): cdktf.IResolvable | LambdaCapacityProviderVpcConfig[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
