import { CfnResource, Resolvable } from '../../base';
export declare type ExperimentTemplate_Type = 'AWS::FIS::ExperimentTemplate';
export declare const ExperimentTemplate_Type = "AWS::FIS::ExperimentTemplate";
/**
 * Resource schema for AWS::FIS::ExperimentTemplate {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html}
 */
export default function ExperimentTemplate(props: ExperimentTemplate_Properties): CfnResource<ExperimentTemplate_Properties>;
/**
 * Resource schema for AWS::FIS::ExperimentTemplate {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html}
 */
export declare type ExperimentTemplate_Properties = {
    Id?: ExperimentTemplateId;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-description}
     */
    Description: ExperimentTemplateDescription;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-targets}
     */
    Targets: ExperimentTemplateTargetMap;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-actions}
     */
    Actions?: ExperimentTemplateActionMap;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-stopconditions}
     */
    StopConditions: ExperimentTemplateStopConditionList;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-rolearn}
     */
    RoleArn: RoleArn;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-tags}
     */
    Tags: {
        [k: string]: Resolvable<string>;
    };
};
export declare type ExperimentTemplateId = Resolvable<string>;
export declare type ExperimentTemplateDescription = Resolvable<string>;
export declare type StopConditionSource = Resolvable<string>;
export declare type StopConditionValue = Resolvable<string>;
/**
 * {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatestopcondition.html}
 */
export declare type ExperimentTemplateStopCondition = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatestopcondition.html#cfn-fis-experimenttemplate-experimenttemplatestopcondition-source}
     */
    Source: StopConditionSource;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatestopcondition.html#cfn-fis-experimenttemplate-experimenttemplatestopcondition-value}
     */
    Value?: StopConditionValue;
};
export declare type ExperimentTemplateStopConditionList = ExperimentTemplateStopCondition[];
export declare type ResourceType = Resolvable<string>;
export declare type ResourceArn = Resolvable<string>;
export declare type ResourceArnList = ResourceArn[];
export declare type ExperimentTemplateTargetSelectionMode = Resolvable<string>;
export declare type ExperimentTemplateTargetFilterPath = Resolvable<string>;
export declare type ExperimentTemplateTargetFilterValue = Resolvable<string>;
export declare type ExperimentTemplateTargetFilterValues = ExperimentTemplateTargetFilterValue[];
/**
 * Describes a filter used for the target resource input in an experiment
 * template. {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetargetfilter.html}
 */
export declare type ExperimentTemplateTargetFilter = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetargetfilter.html#cfn-fis-experimenttemplate-experimenttemplatetargetfilter-path}
     */
    Path: ExperimentTemplateTargetFilterPath;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetargetfilter.html#cfn-fis-experimenttemplate-experimenttemplatetargetfilter-values}
     */
    Values: ExperimentTemplateTargetFilterValues;
};
export declare type ExperimentTemplateTargetFilterList = ExperimentTemplateTargetFilter[];
/**
 * Specifies a target for an experiment. {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html}
 */
export declare type ExperimentTemplateTarget = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html#cfn-fis-experimenttemplate-experimenttemplatetarget-resourcetype}
     */
    ResourceType: ResourceType;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html#cfn-fis-experimenttemplate-experimenttemplatetarget-resourcearns}
     */
    ResourceArns?: ResourceArnList;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html#cfn-fis-experimenttemplate-experimenttemplatetarget-resourcetags}
     */
    ResourceTags?: {
        [k: string]: Resolvable<string>;
    };
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html#cfn-fis-experimenttemplate-experimenttemplatetarget-filters}
     */
    Filters?: ExperimentTemplateTargetFilterList;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html#cfn-fis-experimenttemplate-experimenttemplatetarget-selectionmode}
     */
    SelectionMode: ExperimentTemplateTargetSelectionMode;
};
export declare type ExperimentTemplateTargetMap = {
    [k: string]: ExperimentTemplateTarget;
};
export declare type ActionId = Resolvable<string>;
export declare type ExperimentTemplateActionItemDescription = Resolvable<string>;
export declare type ExperimentTemplateActionItemParameter = Resolvable<string>;
export declare type ExperimentTemplateActionItemTarget = Resolvable<string>;
export declare type ExperimentTemplateActionItemStartAfter = Resolvable<string>;
export declare type ExperimentTemplateActionItemStartAfterList = ExperimentTemplateActionItemStartAfter[];
/**
 * Specifies an action for the experiment template. {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html}
 */
export declare type ExperimentTemplateAction = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html#cfn-fis-experimenttemplate-experimenttemplateaction-actionid}
     */
    ActionId: ActionId;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html#cfn-fis-experimenttemplate-experimenttemplateaction-description}
     */
    Description?: ExperimentTemplateActionItemDescription;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html#cfn-fis-experimenttemplate-experimenttemplateaction-parameters}
     */
    Parameters?: {
        [k: string]: ExperimentTemplateActionItemParameter;
    };
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html#cfn-fis-experimenttemplate-experimenttemplateaction-targets}
     */
    Targets?: {
        [k: string]: ExperimentTemplateActionItemTarget;
    };
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateaction.html#cfn-fis-experimenttemplate-experimenttemplateaction-startafter}
     */
    StartAfter?: ExperimentTemplateActionItemStartAfterList;
};
export declare type ExperimentTemplateActionMap = {
    [k: string]: ExperimentTemplateAction;
};
export declare type RoleArn = Resolvable<string>;
