import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * <p>Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.</p>
 */
export declare class Channel extends pulumi.CustomResource {
    /**
     * Get an existing Channel 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): Channel;
    /**
     * Returns true if the given object is an instance of Channel.  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 Channel;
    /**
     * <p>The Amazon Resource Name (ARN) associated with the resource.</p>
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The name of the channel group associated with the channel configuration.
     */
    readonly channelGroupName: pulumi.Output<string>;
    /**
     * The name of the channel.
     */
    readonly channelName: pulumi.Output<string>;
    /**
     * <p>The date and time the channel was created.</p>
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * <p>Enter any descriptive text that helps you to identify the channel.</p>
     */
    readonly description: pulumi.Output<string | undefined>;
    readonly ingestEndpointUrls: pulumi.Output<string[]>;
    /**
     * <p>The list of ingest endpoints.</p>
     */
    readonly ingestEndpoints: pulumi.Output<outputs.mediapackagev2.ChannelIngestEndpoint[]>;
    /**
     * The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive.
     */
    readonly inputSwitchConfiguration: pulumi.Output<outputs.mediapackagev2.ChannelInputSwitchConfiguration | undefined>;
    /**
     * The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
     *
     * The allowed values are:
     *
     * - `HLS` - The HLS streaming specification (which defines M3U8 manifests and TS segments).
     * - `CMAF` - The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
     */
    readonly inputType: pulumi.Output<enums.mediapackagev2.ChannelInputType | undefined>;
    /**
     * <p>The date and time the channel was modified.</p>
     */
    readonly modifiedAt: pulumi.Output<string>;
    /**
     * The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.
     */
    readonly outputHeaderConfiguration: pulumi.Output<outputs.mediapackagev2.ChannelOutputHeaderConfiguration | undefined>;
    /**
     * The tags associated with the channel.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Create a Channel 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: ChannelArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Channel resource.
 */
export interface ChannelArgs {
    /**
     * The name of the channel group associated with the channel configuration.
     */
    channelGroupName: pulumi.Input<string>;
    /**
     * The name of the channel.
     */
    channelName?: pulumi.Input<string>;
    /**
     * <p>Enter any descriptive text that helps you to identify the channel.</p>
     */
    description?: pulumi.Input<string>;
    /**
     * The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive.
     */
    inputSwitchConfiguration?: pulumi.Input<inputs.mediapackagev2.ChannelInputSwitchConfigurationArgs>;
    /**
     * The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
     *
     * The allowed values are:
     *
     * - `HLS` - The HLS streaming specification (which defines M3U8 manifests and TS segments).
     * - `CMAF` - The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
     */
    inputType?: pulumi.Input<enums.mediapackagev2.ChannelInputType>;
    /**
     * The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.
     */
    outputHeaderConfiguration?: pulumi.Input<inputs.mediapackagev2.ChannelOutputHeaderConfigurationArgs>;
    /**
     * The tags associated with the channel.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
