import { TagColumnOperationProps } from './TagColumnOperationProps';
import { OverrideDatasetParameterOperationProps } from './OverrideDatasetParameterOperationProps';
import { FilterOperationProps } from './FilterOperationProps';
import { CastColumnTypeOperationProps } from './CastColumnTypeOperationProps';
import { CreateColumnsOperationProps } from './CreateColumnsOperationProps';
import { RenameColumnOperationProps } from './RenameColumnOperationProps';
import { ProjectOperationProps } from './ProjectOperationProps';
/**
  A data transformation on a logical table. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-transformoperation.html">the AWS Docs</a>
*/
export interface TransformOperationProps {
    /** <code>TagColumnOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-tagcolumnoperation"></a>
  An operation that tags a column with additional information.<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> */
    tagColumnOperation?: TagColumnOperationProps;
    /** <code>OverrideDatasetParameterOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-overridedatasetparameteroperation"></a>
  Property description not available.<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> */
    overrideDatasetParameterOperation?: OverrideDatasetParameterOperationProps;
    /** <code>FilterOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-filteroperation"></a>
  An operation that filters rows based on some condition.<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> */
    filterOperation?: FilterOperationProps;
    /** <code>CastColumnTypeOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-castcolumntypeoperation"></a>
  A transform operation that casts a column to a different type.<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> */
    castColumnTypeOperation?: CastColumnTypeOperationProps;
    /** <code>CreateColumnsOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-createcolumnsoperation"></a>
  An operation that creates calculated columns. Columns created in one such operation form a lexical closure.<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> */
    createColumnsOperation?: CreateColumnsOperationProps;
    /** <code>RenameColumnOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-renamecolumnoperation"></a>
  An operation that renames a column.<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> */
    renameColumnOperation?: RenameColumnOperationProps;
    /** <code>ProjectOperation</code>  <a name="cfn-quicksight-dataset-transformoperation-projectoperation"></a>
  An operation that projects columns. Operations that come after a projection can only refer to projected columns.<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> */
    projectOperation?: ProjectOperationProps;
}
