import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
 */
export declare function getListener(args: GetListenerArgs, opts?: pulumi.InvokeOptions): Promise<GetListenerResult>;
export interface GetListenerArgs {
    /**
     * The Amazon Resource Name (ARN) of the listener.
     */
    listenerArn: string;
}
export interface GetListenerResult {
    /**
     * [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
     */
    readonly alpnPolicy?: string[];
    /**
     * The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS.
     *  To create a certificate list for a secure listener, use [AWS::ElasticLoadBalancingV2::ListenerCertificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html).
     */
    readonly certificates?: outputs.elasticloadbalancingv2.ListenerCertificate[];
    /**
     * The actions for the default rule. You cannot define a condition for a default rule.
     *  To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html).
     */
    readonly defaultActions?: outputs.elasticloadbalancingv2.ListenerAction[];
    /**
     * The Amazon Resource Name (ARN) of the listener.
     */
    readonly listenerArn?: string;
    /**
     * The listener attributes.
     */
    readonly listenerAttributes?: outputs.elasticloadbalancingv2.ListenerAttribute[];
    /**
     * The mutual authentication configuration information.
     */
    readonly mutualAuthentication?: outputs.elasticloadbalancingv2.ListenerMutualAuthentication;
    /**
     * The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.
     */
    readonly port?: number;
    /**
     * The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.
     */
    readonly protocol?: string;
    /**
     * [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html) in the *Network Load Balancers Guide*.
     *  Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation.
     */
    readonly sslPolicy?: string;
}
/**
 * Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
 */
export declare function getListenerOutput(args: GetListenerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetListenerResult>;
export interface GetListenerOutputArgs {
    /**
     * The Amazon Resource Name (ARN) of the listener.
     */
    listenerArn: pulumi.Input<string>;
}
