import * as core from "@terrascript/core";
export interface AccessLogsArgs extends core.SchemaArgs {
    bucket: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
    prefix?: string | core.StringOut;
}
export declare class AccessLogs extends core.Schema<AccessLogsArgs> {
    bucket: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
    prefix?: string | core.StringOut;
}
export interface SubnetMappingArgs extends core.SchemaArgs {
    allocationId?: string | core.StringOut;
    ipv6Address?: string | core.StringOut;
    outpostId: string | core.StringOut;
    privateIpv4Address?: string | core.StringOut;
    subnetId: string | core.StringOut;
}
export declare class SubnetMapping extends core.Schema<SubnetMappingArgs> {
    allocationId?: string | core.StringOut;
    ipv6Address?: string | core.StringOut;
    outpostId: string | core.StringOut;
    privateIpv4Address?: string | core.StringOut;
    subnetId: string | core.StringOut;
}
export interface LbArgs extends core.ResourceArgs {
    accessLogs?: AccessLogs;
    customerOwnedIpv4Pool?: string | core.StringOut;
    desyncMitigationMode?: string | core.StringOut;
    dropInvalidHeaderFields?: boolean | core.BooleanOut;
    enableCrossZoneLoadBalancing?: boolean | core.BooleanOut;
    enableDeletionProtection?: boolean | core.BooleanOut;
    enableHttp2?: boolean | core.BooleanOut;
    enableWafFailOpen?: boolean | core.BooleanOut;
    idleTimeout?: number | core.NumberOut;
    internal?: boolean | core.BooleanOut;
    ipAddressType?: string | core.StringOut;
    loadBalancerType?: string | core.StringOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    preserveHostHeader?: boolean | core.BooleanOut;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetMapping?: core.Array<SubnetMapping> | core.ArrayOut<SubnetMapping>;
    subnets?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Lb extends core.Resource<LbArgs> {
    accessLogs?: AccessLogs;
    arn: string | core.StringOut;
    arnSuffix: string | core.StringOut;
    customerOwnedIpv4Pool?: string | core.StringOut;
    desyncMitigationMode?: string | core.StringOut;
    dnsName: string | core.StringOut;
    dropInvalidHeaderFields?: boolean | core.BooleanOut;
    enableCrossZoneLoadBalancing?: boolean | core.BooleanOut;
    enableDeletionProtection?: boolean | core.BooleanOut;
    enableHttp2?: boolean | core.BooleanOut;
    enableWafFailOpen?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    idleTimeout?: number | core.NumberOut;
    internal?: boolean | core.BooleanOut;
    ipAddressType?: string | core.StringOut;
    loadBalancerType?: string | core.StringOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    preserveHostHeader?: boolean | core.BooleanOut;
    securityGroups?: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetMapping?: core.Array<SubnetMapping> | core.ArrayOut<SubnetMapping>;
    subnets?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcId: string | core.StringOut;
    zoneId: string | core.StringOut;
    constructor(name: string, args?: LbArgs);
    getNamespace(): string;
}
//# sourceMappingURL=lb.d.ts.map