import { Value } from '../../../cloudformation/Value';
import { RecordColumnProps } from './RecordColumnProps';
import { RecordFormatProps } from './RecordFormatProps';
/**
  For a SQL-based Managed Service for Apache Flink application, describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html">the AWS Docs</a>
*/
export interface ReferenceSchemaProps {
    /** <code>RecordEncoding</code>  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordencoding"></a>
  Specifies the encoding of the records in the streaming source. For example, UTF-8.<br />
  
  Required: No<br />
  
  Minimum: <code>5</code><br />
  
  Maximum: <code>5</code><br />
  
  Pattern: <code>UTF-8</code><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> */
    recordEncoding?: Value<string>;
    /** <code>RecordColumns</code>  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordcolumns"></a>
  A list of <code>RecordColumn</code> objects.<br />
  
  Required: Yes<br />
  
  Maximum: <code>1000</code><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> */
    recordColumns: RecordColumnProps[];
    /** <code>RecordFormat</code>  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordformat"></a>
  Specifies the format of the records on the streaming source.<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> */
    recordFormat: RecordFormatProps;
}
