import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Listener resource in Oracle Cloud Infrastructure Network Load Balancer service.
 *
 * Retrieves listener properties associated with a given network load balancer and listener name.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testListener = oci.networkloadbalancer.getListener({
 *     listenerName: testListenerOciNetworkLoadBalancerListener.name,
 *     networkLoadBalancerId: testNetworkLoadBalancer.id,
 * });
 * ```
 */
export declare function getListener(args: GetListenerArgs, opts?: pulumi.InvokeOptions): Promise<GetListenerResult>;
/**
 * A collection of arguments for invoking getListener.
 */
export interface GetListenerArgs {
    /**
     * The name of the listener to get.  Example: `exampleListener`
     */
    listenerName: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the network load balancer to update.
     */
    networkLoadBalancerId: string;
}
/**
 * A collection of values returned by getListener.
 */
export interface GetListenerResult {
    /**
     * The name of the associated backend set.  Example: `exampleBackendSet`
     */
    readonly defaultBackendSetName: string;
    readonly id: string;
    /**
     * IP version associated with the listener.
     */
    readonly ipVersion: string;
    /**
     * Property to enable/disable PPv2 feature for this listener.
     */
    readonly isPpv2enabled: boolean;
    /**
     * The duration for L3IP idle timeout in seconds. Example: `200`
     */
    readonly l3ipIdleTimeout: number;
    readonly listenerName: string;
    /**
     * A friendly name for the listener. It must be unique and it cannot be changed.  Example: `exampleListener`
     */
    readonly name: string;
    readonly networkLoadBalancerId: string;
    /**
     * The communication port for the listener.  Example: `80`
     */
    readonly port: number;
    /**
     * The protocol on which the listener accepts connection requests. For public network load balancers, ANY protocol refers to TCP/UDP with the wildcard port. For private network load balancers, ANY protocol refers to TCP/UDP/ICMP (note that ICMP requires isPreserveSourceDestination to be set to true). "ListNetworkLoadBalancersProtocols" API is deprecated and it will not return the updated values. Use the allowed values for the protocol instead.  Example: `TCP`
     */
    readonly protocol: string;
    /**
     * The duration for TCP idle timeout in seconds. Example: `300`
     */
    readonly tcpIdleTimeout: number;
    /**
     * The duration for UDP idle timeout in seconds. Example: `120`
     */
    readonly udpIdleTimeout: number;
}
/**
 * This data source provides details about a specific Listener resource in Oracle Cloud Infrastructure Network Load Balancer service.
 *
 * Retrieves listener properties associated with a given network load balancer and listener name.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testListener = oci.networkloadbalancer.getListener({
 *     listenerName: testListenerOciNetworkLoadBalancerListener.name,
 *     networkLoadBalancerId: testNetworkLoadBalancer.id,
 * });
 * ```
 */
export declare function getListenerOutput(args: GetListenerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetListenerResult>;
/**
 * A collection of arguments for invoking getListener.
 */
export interface GetListenerOutputArgs {
    /**
     * The name of the listener to get.  Example: `exampleListener`
     */
    listenerName: pulumi.Input<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the network load balancer to update.
     */
    networkLoadBalancerId: pulumi.Input<string>;
}
//# sourceMappingURL=getListener.d.ts.map