import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource Type definition for AWS::MediaConnect::FlowSource
 */
export declare class FlowSource extends pulumi.CustomResource {
    /**
     * Get an existing FlowSource resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): FlowSource;
    /**
     * Returns true if the given object is an instance of FlowSource.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is FlowSource;
    /**
     * The type of encryption that is used on the content ingested from this source.
     */
    readonly decryption: pulumi.Output<outputs.mediaconnect.FlowSourceEncryption | undefined>;
    /**
     * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
     */
    readonly description: pulumi.Output<string>;
    /**
     * The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow.
     */
    readonly entitlementArn: pulumi.Output<string | undefined>;
    /**
     * The ARN of the flow.
     */
    readonly flowArn: pulumi.Output<string>;
    /**
     * The source configuration for cloud flows receiving a stream from a bridge.
     */
    readonly gatewayBridgeSource: pulumi.Output<outputs.mediaconnect.FlowSourceGatewayBridgeSource | undefined>;
    /**
     * The IP address that the flow will be listening on for incoming content.
     */
    readonly ingestIp: pulumi.Output<string>;
    /**
     * The port that the flow will be listening on for incoming content.
     */
    readonly ingestPort: pulumi.Output<number | undefined>;
    /**
     * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
     */
    readonly maxBitrate: pulumi.Output<number | undefined>;
    /**
     * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
     */
    readonly maxLatency: pulumi.Output<number | undefined>;
    /**
     * The minimum latency in milliseconds.
     */
    readonly minLatency: pulumi.Output<number | undefined>;
    /**
     * The name of the source.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The protocol that is used by the source.
     */
    readonly protocol: pulumi.Output<enums.mediaconnect.FlowSourceProtocol | undefined>;
    /**
     * The port that the flow uses to send outbound requests to initiate connection with the sender for fujitsu-qos protocol.
     */
    readonly senderControlPort: pulumi.Output<number | undefined>;
    /**
     * The IP address that the flow communicates with to initiate connection with the sender for fujitsu-qos protocol.
     */
    readonly senderIpAddress: pulumi.Output<string | undefined>;
    /**
     * The ARN of the source.
     */
    readonly sourceArn: pulumi.Output<string>;
    /**
     * The port that the flow will be listening on for incoming content.(ReadOnly)
     */
    readonly sourceIngestPort: pulumi.Output<string>;
    /**
     * Source IP or domain name for SRT-caller protocol.
     */
    readonly sourceListenerAddress: pulumi.Output<string | undefined>;
    /**
     * Source port for SRT-caller protocol.
     */
    readonly sourceListenerPort: pulumi.Output<number | undefined>;
    /**
     * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
     */
    readonly streamId: pulumi.Output<string | undefined>;
    /**
     * Key-value pairs that can be used to tag and organize this flow source.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The name of the VPC Interface this Source is configured with.
     */
    readonly vpcInterfaceName: pulumi.Output<string | undefined>;
    /**
     * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
     */
    readonly whitelistCidr: pulumi.Output<string | undefined>;
    /**
     * Create a FlowSource resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: FlowSourceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a FlowSource resource.
 */
export interface FlowSourceArgs {
    /**
     * The type of encryption that is used on the content ingested from this source.
     */
    decryption?: pulumi.Input<inputs.mediaconnect.FlowSourceEncryptionArgs>;
    /**
     * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
     */
    description: pulumi.Input<string>;
    /**
     * The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow.
     */
    entitlementArn?: pulumi.Input<string>;
    /**
     * The ARN of the flow.
     */
    flowArn: pulumi.Input<string>;
    /**
     * The source configuration for cloud flows receiving a stream from a bridge.
     */
    gatewayBridgeSource?: pulumi.Input<inputs.mediaconnect.FlowSourceGatewayBridgeSourceArgs>;
    /**
     * The port that the flow will be listening on for incoming content.
     */
    ingestPort?: pulumi.Input<number>;
    /**
     * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
     */
    maxBitrate?: pulumi.Input<number>;
    /**
     * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
     */
    maxLatency?: pulumi.Input<number>;
    /**
     * The minimum latency in milliseconds.
     */
    minLatency?: pulumi.Input<number>;
    /**
     * The name of the source.
     */
    name?: pulumi.Input<string>;
    /**
     * The protocol that is used by the source.
     */
    protocol?: pulumi.Input<enums.mediaconnect.FlowSourceProtocol>;
    /**
     * The port that the flow uses to send outbound requests to initiate connection with the sender for fujitsu-qos protocol.
     */
    senderControlPort?: pulumi.Input<number>;
    /**
     * The IP address that the flow communicates with to initiate connection with the sender for fujitsu-qos protocol.
     */
    senderIpAddress?: pulumi.Input<string>;
    /**
     * Source IP or domain name for SRT-caller protocol.
     */
    sourceListenerAddress?: pulumi.Input<string>;
    /**
     * Source port for SRT-caller protocol.
     */
    sourceListenerPort?: pulumi.Input<number>;
    /**
     * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
     */
    streamId?: pulumi.Input<string>;
    /**
     * Key-value pairs that can be used to tag and organize this flow source.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The name of the VPC Interface this Source is configured with.
     */
    vpcInterfaceName?: pulumi.Input<string>;
    /**
     * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
     */
    whitelistCidr?: pulumi.Input<string>;
}
