import { FailoverConfigProps } from './flow/FailoverConfigProps';
import { Value } from '../../cloudformation/Value';
import { SourceProps } from './flow/SourceProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type FlowAttributes = {
    FlowAvailabilityZone: Attribute<string>;
    Source_SourceIngestPort: Attribute<string>;
    Source_IngestIp: Attribute<string>;
    Source_SourceArn: Attribute<string>;
    FlowArn: Attribute<string>;
};
export type Flow = AwsResource<'AWS::MediaConnect::Flow', FlowProperties, FlowAttributes>;
/**
  The AWS::MediaConnect::Flow resource defines a connection between one or more video sources and one or more outputs. For each flow, you specify the transport protocol to use, encryption information, and details for any outputs or entitlements that you want. AWS Elemental MediaConnect returns an ingest endpoint where you can send your live video as a single unicast stream. The service replicates and distributes the video to every output that you specify, whether inside or outside the AWS Cloud. You can also set up entitlements on a flow to allow other AWS accounts to access your content.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html">the AWS Docs</a>
*/
export declare function flow(flowProps: FlowProperties): Flow;
/**
  The AWS::MediaConnect::Flow resource defines a connection between one or more video sources and one or more outputs. For each flow, you specify the transport protocol to use, encryption information, and details for any outputs or entitlements that you want. AWS Elemental MediaConnect returns an ingest endpoint where you can send your live video as a single unicast stream. The service replicates and distributes the video to every output that you specify, whether inside or outside the AWS Cloud. You can also set up entitlements on a flow to allow other AWS accounts to access your content.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html">the AWS Docs</a>
*/
export interface FlowProperties {
    /** <code>SourceFailoverConfig</code>  <a name="cfn-mediaconnect-flow-sourcefailoverconfig"></a>
  The settings for source failover.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sourceFailoverConfig?: FailoverConfigProps;
    /** <code>AvailabilityZone</code>  <a name="cfn-mediaconnect-flow-availabilityzone"></a>
  The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    availabilityZone?: Value<string>;
    /** <code>Source</code>  <a name="cfn-mediaconnect-flow-source"></a>
  The settings for the source that you want to use for the new flow.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    source: SourceProps;
    /** <code>Name</code>  <a name="cfn-mediaconnect-flow-name"></a>
  The name of the flow.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name: Value<string>;
}
