import { CustomStepDetailsProps } from './CustomStepDetailsProps';
import { CopyStepDetailsProps } from './CopyStepDetailsProps';
import { DecryptStepDetailsProps } from './DecryptStepDetailsProps';
import { Value } from '../../../cloudformation/Value';
import { TagStepDetailsProps } from './TagStepDetailsProps';
import { DeleteStepDetailsProps } from './DeleteStepDetailsProps';
/**
  The basic building block of a workflow.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html">the AWS Docs</a>
*/
export interface WorkflowStepProps {
    /** <code>CustomStepDetails</code>  <a name="cfn-transfer-workflow-workflowstep-customstepdetails"></a>
  Details for a step that invokes an AWS Lambda function.<br />
  Consists of the Lambda function’s name, target, and timeout (in seconds).<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> */
    customStepDetails?: CustomStepDetailsProps;
    /** <p> */
    copyStepDetails?: CopyStepDetailsProps;
    /** <p> */
    decryptStepDetails?: DecryptStepDetailsProps;
    /** <p> */
    type?: Value<string>;
    /** <code>TagStepDetails</code>  <a name="cfn-transfer-workflow-workflowstep-tagstepdetails"></a>
  Details for a step that creates one or more tags.<br />
  You specify one or more tags. Each tag contains a key-value pair.<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> */
    tagStepDetails?: TagStepDetailsProps;
    /** <code>DeleteStepDetails</code>  <a name="cfn-transfer-workflow-workflowstep-deletestepdetails"></a>
  Details for a step that deletes the file.<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> */
    deleteStepDetails?: DeleteStepDetailsProps;
}
