import type { SecurityGroupId } from "../../../common/CustomTypes/SecurityGroupId";
import type { SubnetId } from "../../../common/CustomTypes/SubnetId";
import type { AwsResourceCommon, CloudFormationTags } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
export declare type LoadBalancerType = 'AWS::ElasticLoadBalancingV2::LoadBalancer';
export interface LoadBalancer extends AwsResourceCommon {
    Type: LoadBalancerType;
    Properties: LoadBalancerProperties;
}
export declare type LoadBalancerTypes = 'application' | 'gateway' | 'network';
export interface LoadBalancerProperties {
    Type?: LoadBalancerTypes;
    Scheme?: 'internal' | 'internet-facing';
    SecurityGroups?: CloudFormationValue<SecurityGroupId>[];
    Subnets: SubnetId[];
    Tags?: CloudFormationTags;
}
