import { TimeoutConfigProps } from './jobtemplate/TimeoutConfigProps';
import { Value } from '../../cloudformation/Value';
import { JobExecutionsRetryConfigProps } from './jobtemplate/JobExecutionsRetryConfigProps';
import { AbortConfigProps } from './jobtemplate/AbortConfigProps';
import { JobExecutionsRolloutConfigProps } from './jobtemplate/JobExecutionsRolloutConfigProps';
import { MaintenanceWindowProps } from './jobtemplate/MaintenanceWindowProps';
import { PresignedUrlConfigProps } from './jobtemplate/PresignedUrlConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type JobTemplateAttributes = {
    Arn: Attribute<string>;
};
export type JobTemplate = AwsResource<'AWS::IoT::JobTemplate', JobTemplateProperties, JobTemplateAttributes>;
/**
  Represents a job template.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html">the AWS Docs</a>
*/
export declare function jobTemplate(jobTemplateProps: JobTemplateProperties): JobTemplate;
/**
  Represents a job template.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html">the AWS Docs</a>
*/
export interface JobTemplateProperties {
    /** <code>TimeoutConfig</code>  <a name="cfn-iot-jobtemplate-timeoutconfig"></a>
  Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to <code>IN_PROGRESS</code>. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to <code>TIMED_OUT</code>.<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> */
    timeoutConfig?: TimeoutConfigProps;
    /** <code>Description</code>  <a name="cfn-iot-jobtemplate-description"></a>
  A description of the job template.<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> */
    description: Value<string>;
    /** <code>JobExecutionsRetryConfig</code>  <a name="cfn-iot-jobtemplate-jobexecutionsretryconfig"></a>
  Allows you to create the criteria to retry a job.<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> */
    jobExecutionsRetryConfig?: JobExecutionsRetryConfigProps;
    /** <code>AbortConfig</code>  <a name="cfn-iot-jobtemplate-abortconfig"></a>
  The criteria that determine when and how a job abort takes place.<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> */
    abortConfig?: AbortConfigProps;
    /** <code>JobTemplateId</code>  <a name="cfn-iot-jobtemplate-jobtemplateid"></a>
  A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, “-”, and “_” are valid for use here.<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> */
    jobTemplateId: Value<string>;
    /** <code>Document</code>  <a name="cfn-iot-jobtemplate-document"></a>
  The job document.<br />
  Required if you don’t specify a value for <code>documentSource</code>.<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> */
    document?: Value<string>;
    /**  */
    destinationPackageVersions?: Value<Value<string>[]>;
    /** <code>JobArn</code>  <a name="cfn-iot-jobtemplate-jobarn"></a>
  The ARN of the job to use as the basis for the job template.<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> */
    jobArn?: Value<string>;
    /** <code>JobExecutionsRolloutConfig</code>  <a name="cfn-iot-jobtemplate-jobexecutionsrolloutconfig"></a>
  Allows you to create a staged rollout of a job.<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> */
    jobExecutionsRolloutConfig?: JobExecutionsRolloutConfigProps;
    /** <code>DocumentSource</code>  <a name="cfn-iot-jobtemplate-documentsource"></a>
  An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don’t specify a value for <code>document</code>.<br />
  For example, <code>--document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0</code><br />
  For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html">Methods for accessing a bucket</a>.<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> */
    documentSource?: Value<string>;
    /** <code>MaintenanceWindows</code>  <a name="cfn-iot-jobtemplate-maintenancewindows"></a>
  An optional configuration within the SchedulingConfig to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job.<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> */
    maintenanceWindows?: MaintenanceWindowProps[];
    /** <code>PresignedUrlConfig</code>  <a name="cfn-iot-jobtemplate-presignedurlconfig"></a>
  Configuration for pre-signed S3 URLs.<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> */
    presignedUrlConfig?: PresignedUrlConfigProps;
    /** <code>Tags</code>  <a name="cfn-iot-jobtemplate-tags"></a>
  Metadata that can be used to manage the job template.<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> */
    tags?: Tag[];
}
