import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Represents a router input in AWS Elemental MediaConnect that is used to ingest content to be transmitted to router outputs
 */
export declare class RouterInput extends pulumi.CustomResource {
    /**
     * Get an existing RouterInput 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): RouterInput;
    /**
     * Returns true if the given object is an instance of RouterInput.  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 RouterInput;
    /**
     * The Amazon Resource Name (ARN) of the router input.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The Availability Zone where you want to create the router input. This must be a valid Availability Zone for the region specified by regionName, or the current region if no regionName is provided.
     */
    readonly availabilityZone: pulumi.Output<string | undefined>;
    /**
     * The unique identifier of the router input.
     */
    readonly awsId: pulumi.Output<string>;
    readonly configuration: pulumi.Output<outputs.mediaconnect.RouterInputConfiguration0Properties | outputs.mediaconnect.RouterInputConfiguration1Properties | outputs.mediaconnect.RouterInputConfiguration2Properties | outputs.mediaconnect.RouterInputConfiguration3Properties | outputs.mediaconnect.RouterInputConfiguration4Properties>;
    /**
     * The timestamp when the router input was created.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * The type of the router input.
     */
    readonly inputType: pulumi.Output<enums.mediaconnect.RouterInputType>;
    /**
     * The IP address of the router input.
     */
    readonly ipAddress: pulumi.Output<string>;
    /**
     * The maintenance configuration settings applied to this router input.
     */
    readonly maintenanceConfiguration: pulumi.Output<outputs.mediaconnect.RouterInputMaintenanceConfiguration0Properties | outputs.mediaconnect.RouterInputMaintenanceConfiguration1Properties | undefined>;
    /**
     * The type of maintenance configuration applied to this router input.
     */
    readonly maintenanceType: pulumi.Output<enums.mediaconnect.RouterInputMaintenanceType>;
    /**
     * The maximum bitrate for the router input.
     */
    readonly maximumBitrate: pulumi.Output<number>;
    /**
     * The name of the router input.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The Amazon Web Services Region for the router input. Defaults to the current region if not specified.
     */
    readonly regionName: pulumi.Output<string | undefined>;
    /**
     * The number of router outputs associated with the router input.
     */
    readonly routedOutputs: pulumi.Output<number>;
    /**
     * Indicates whether the router input is configured for Regional or global routing.
     */
    readonly routingScope: pulumi.Output<enums.mediaconnect.RouterInputRoutingScope>;
    /**
     * The current state of the router input.
     */
    readonly state: pulumi.Output<enums.mediaconnect.RouterInputState>;
    /**
     * Key-value pairs that can be used to tag and organize this router input.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The tier level of the router input.
     */
    readonly tier: pulumi.Output<enums.mediaconnect.RouterInputTier>;
    /**
     * Encryption information.
     */
    readonly transitEncryption: pulumi.Output<outputs.mediaconnect.RouterInputTransitEncryption | undefined>;
    /**
     * The timestamp when the router input was last updated.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * Create a RouterInput 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: RouterInputArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a RouterInput resource.
 */
export interface RouterInputArgs {
    /**
     * The Availability Zone where you want to create the router input. This must be a valid Availability Zone for the region specified by regionName, or the current region if no regionName is provided.
     */
    availabilityZone?: pulumi.Input<string>;
    configuration: pulumi.Input<inputs.mediaconnect.RouterInputConfiguration0PropertiesArgs | inputs.mediaconnect.RouterInputConfiguration1PropertiesArgs | inputs.mediaconnect.RouterInputConfiguration2PropertiesArgs | inputs.mediaconnect.RouterInputConfiguration3PropertiesArgs | inputs.mediaconnect.RouterInputConfiguration4PropertiesArgs>;
    /**
     * The maintenance configuration settings applied to this router input.
     */
    maintenanceConfiguration?: pulumi.Input<inputs.mediaconnect.RouterInputMaintenanceConfiguration0PropertiesArgs | inputs.mediaconnect.RouterInputMaintenanceConfiguration1PropertiesArgs>;
    /**
     * The maximum bitrate for the router input.
     */
    maximumBitrate: pulumi.Input<number>;
    /**
     * The name of the router input.
     */
    name?: pulumi.Input<string>;
    /**
     * The Amazon Web Services Region for the router input. Defaults to the current region if not specified.
     */
    regionName?: pulumi.Input<string>;
    /**
     * Indicates whether the router input is configured for Regional or global routing.
     */
    routingScope: pulumi.Input<enums.mediaconnect.RouterInputRoutingScope>;
    /**
     * Key-value pairs that can be used to tag and organize this router input.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The tier level of the router input.
     */
    tier: pulumi.Input<enums.mediaconnect.RouterInputTier>;
    /**
     * Encryption information.
     */
    transitEncryption?: pulumi.Input<inputs.mediaconnect.RouterInputTransitEncryptionArgs>;
}
