export interface CreateExperimentTemplateStopConditionInput {
    /** The source for the stop condition. Specify aws:cloudwatch:alarm if the stop condition is defined by a CloudWatch alarm. Specify none if there is no stop condition. */
    source: string;
    /** The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required if the source is a CloudWatch alarm. */
    value?: string;
}
export interface CreateExperimentTemplateTargetInput {
    /** The resource type. The resource type must be supported for the specified action. */
    resourceType: string;
    /** The Amazon Resource Names (ARNs) of the resources. */
    resourceArns?: any[];
    /** The tags for the target resources. */
    resourceTags?: Record<string, any>;
    /** The filters to apply to identify target resources using specific attributes. */
    filters?: any[];
    /** Scopes the identified resources to a specific count of the resources at random, or a percentage of the resources. All identified resources are included in the target. ALL - Run the action on all ident */
    selectionMode: string;
    /** The resource type parameters. */
    parameters?: Record<string, any>;
}
export interface CreateExperimentTemplateActionInput {
    /** The ID of the action. The format of the action ID is: aws:service-name:action-type. */
    actionId: string;
    /** A description for the action. */
    description?: string;
    /** The parameters for the action, if applicable. */
    parameters?: Record<string, any>;
    /** The targets for the action. */
    targets?: Record<string, any>;
    /** The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment. */
    startAfter?: any[];
}
export interface ExperimentTemplateCloudWatchLogsLogConfigurationInput {
    /** The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group. */
    logGroupArn: string;
}
export interface ExperimentTemplateS3LogConfigurationInput {
    /** The name of the destination bucket. */
    bucketName: string;
    /** The bucket prefix. */
    prefix?: string;
}
export interface CreateExperimentTemplateLogConfigurationInput {
    /** The configuration for experiment logging to Amazon CloudWatch Logs. */
    cloudWatchLogsConfiguration?: ExperimentTemplateCloudWatchLogsLogConfigurationInput;
    /** The configuration for experiment logging to Amazon S3. */
    s3Configuration?: ExperimentTemplateS3LogConfigurationInput;
    /** The schema version. */
    logSchemaVersion: number;
}
export interface CreateExperimentTemplateExperimentOptionsInput {
    /** Specifies the account targeting setting for experiment options. */
    accountTargeting?: 'single-account' | 'multi-account';
    /** Specifies the empty target resolution mode for experiment options. */
    emptyTargetResolutionMode?: 'fail' | 'skip';
}
export interface ExperimentTemplateReportConfigurationOutputsInput {
    /** The S3 destination for the experiment report. */
    s3Configuration?: any;
}
export interface ExperimentTemplateReportConfigurationDataSourcesInput {
    /** The CloudWatch dashboards to include as data sources in the experiment report. */
    cloudWatchDashboards?: any[];
}
export interface CreateExperimentTemplateReportConfigurationInput {
    /** The output destinations of the experiment report. */
    outputs?: ExperimentTemplateReportConfigurationOutputsInput;
    /** The data sources for the experiment report. */
    dataSources?: ExperimentTemplateReportConfigurationDataSourcesInput;
    /** The duration before the experiment start time for the data sources to include in the report. */
    preExperimentDuration?: string;
    /** The duration after the experiment end time for the data sources to include in the report. */
    postExperimentDuration?: string;
}
export interface StartExperimentExperimentOptionsInput {
    /** Specifies the actions mode for experiment options. */
    actionsMode?: 'skip-all' | 'run-all';
}
export interface UpdateExperimentTemplateStopConditionInput {
    /** The source for the stop condition. Specify aws:cloudwatch:alarm if the stop condition is defined by a CloudWatch alarm. Specify none if there is no stop condition. */
    source: string;
    /** The Amazon Resource Name (ARN) of the CloudWatch alarm. */
    value?: string;
}
export interface UpdateExperimentTemplateTargetInput {
    /** The resource type. The resource type must be supported for the specified action. */
    resourceType: string;
    /** The Amazon Resource Names (ARNs) of the targets. */
    resourceArns?: any[];
    /** The tags for the target resources. */
    resourceTags?: Record<string, any>;
    /** The filters to apply to identify target resources using specific attributes. */
    filters?: any[];
    /** Scopes the identified resources to a specific count or percentage. */
    selectionMode: string;
    /** The resource type parameters. */
    parameters?: Record<string, any>;
}
export interface UpdateExperimentTemplateActionInputItem {
    /** The ID of the action. */
    actionId?: string;
    /** A description for the action. */
    description?: string;
    /** The parameters for the action, if applicable. */
    parameters?: Record<string, any>;
    /** The targets for the action. */
    targets?: Record<string, any>;
    /** The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment. */
    startAfter?: any[];
}
export interface UpdateExperimentTemplateLogConfigurationInput {
    /** The configuration for experiment logging to Amazon CloudWatch Logs. */
    cloudWatchLogsConfiguration?: ExperimentTemplateCloudWatchLogsLogConfigurationInput;
    /** The configuration for experiment logging to Amazon S3. */
    s3Configuration?: ExperimentTemplateS3LogConfigurationInput;
    /** The schema version. */
    logSchemaVersion?: number;
}
export interface UpdateExperimentTemplateExperimentOptionsInput {
    /** The empty target resolution mode of the experiment template. */
    emptyTargetResolutionMode?: 'fail' | 'skip';
}
export interface UpdateExperimentTemplateReportConfigurationInput {
    /** Describes the output destinations of the experiment report. */
    outputs?: ExperimentTemplateReportConfigurationOutputsInput;
    /** The data sources for the experiment report. */
    dataSources?: ExperimentTemplateReportConfigurationDataSourcesInput;
    /** The duration before the experiment start time for the data sources to include in the report. */
    preExperimentDuration?: string;
    /** The duration after the experiment end time for the data sources to include in the report. */
    postExperimentDuration?: string;
}
export interface UpdateSafetyLeverStateInput {
    /** The updated state of the safety lever. */
    status: 'disengaged' | 'engaged';
    /** The reason for updating the state of the safety lever. */
    reason: string;
}
export interface CreateExperimentTemplateInput {
    /** The actions for the experiment. */
    actions: Record<string, CreateExperimentTemplateActionInput>;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken: string;
    /** A description for the experiment template. */
    description: string;
    /** The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf. */
    roleArn: string;
    /** The stop conditions. */
    stopConditions: CreateExperimentTemplateStopConditionInput[];
    /** The experiment options for the experiment template. */
    experimentOptions?: CreateExperimentTemplateExperimentOptionsInput;
    /** The experiment report configuration for the experiment template. */
    experimentReportConfiguration?: CreateExperimentTemplateReportConfigurationInput;
    /** The configuration for experiment logging. */
    logConfiguration?: CreateExperimentTemplateLogConfigurationInput;
    /** The tags to apply to the experiment template. */
    tags?: Record<string, string>;
    /** The targets for the experiment. */
    targets?: Record<string, CreateExperimentTemplateTargetInput>;
}
export interface CreateTargetAccountConfigurationInput {
    /** The Amazon Web Services account ID of the target account. */
    accountId: string;
    /** The experiment template ID. */
    experimentTemplateId: string;
    /** The Amazon Resource Name (ARN) of an IAM role for the target account. */
    roleArn: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** The description of the target account. */
    description?: string;
}
export interface DeleteExperimentTemplateInput {
    /** The ID of the experiment template. */
    id: string;
}
export interface DeleteTargetAccountConfigurationInput {
    /** The Amazon Web Services account ID of the target account. */
    accountId: string;
    /** The ID of the experiment template. */
    experimentTemplateId: string;
}
export interface GetActionInput {
    /** The ID of the action. */
    id: string;
}
export interface GetExperimentInput {
    /** The ID of the experiment. */
    id: string;
}
export interface GetExperimentTargetAccountConfigurationInput {
    /** The Amazon Web Services account ID of the target account. */
    accountId: string;
    /** The ID of the experiment. */
    experimentId: string;
}
export interface GetExperimentTemplateInput {
    /** The ID of the experiment template. */
    id: string;
}
export interface GetSafetyLeverInput {
    /** The ID of the safety lever. */
    id: string;
}
export interface GetTargetAccountConfigurationInput {
    /** The Amazon Web Services account ID of the target account. */
    accountId: string;
    /** The ID of the experiment template. */
    experimentTemplateId: string;
}
export interface GetTargetResourceTypeInput {
    /** The resource type. */
    resourceType: string;
}
export interface ListActionsInput {
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface ListExperimentResolvedTargetsInput {
    /** The ID of the experiment. */
    experimentId: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
    /** The name of the target. */
    targetName?: string;
}
export interface ListExperimentsInput {
    /** The ID of the experiment template. */
    experimentTemplateId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface ListExperimentTargetAccountConfigurationsInput {
    /** The ID of the experiment. */
    experimentId: string;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface ListExperimentTemplatesInput {
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
}
export interface ListTargetAccountConfigurationsInput {
    /** The ID of the experiment template. */
    experimentTemplateId: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface ListTargetResourceTypesInput {
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface StartExperimentInput {
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken: string;
    /** The ID of the experiment template. */
    experimentTemplateId: string;
    /** The experiment options for running the experiment. */
    experimentOptions?: StartExperimentExperimentOptionsInput;
    /** The tags to apply to the experiment. */
    tags?: Record<string, string>;
}
export interface StopExperimentInput {
    /** The ID of the experiment. */
    id: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tags for the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tag keys to remove. */
    tagKeys?: string[];
}
export interface UpdateExperimentTemplateInput {
    /** The ID of the experiment template. */
    id: string;
    /** The actions for the experiment. */
    actions?: Record<string, UpdateExperimentTemplateActionInputItem>;
    /** A description for the template. */
    description?: string;
    /** The experiment options for the experiment template. */
    experimentOptions?: UpdateExperimentTemplateExperimentOptionsInput;
    /** The experiment report configuration for the experiment template. */
    experimentReportConfiguration?: UpdateExperimentTemplateReportConfigurationInput;
    /** The configuration for experiment logging. */
    logConfiguration?: UpdateExperimentTemplateLogConfigurationInput;
    /** The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf. */
    roleArn?: string;
    /** The stop conditions for the experiment. */
    stopConditions?: UpdateExperimentTemplateStopConditionInput[];
    /** The targets for the experiment. */
    targets?: Record<string, UpdateExperimentTemplateTargetInput>;
}
export interface UpdateSafetyLeverStateInput {
    /** The ID of the safety lever. */
    id: string;
    /** The state of the safety lever. */
    state: UpdateSafetyLeverStateInput;
}
export interface UpdateTargetAccountConfigurationInput {
    /** The Amazon Web Services account ID of the target account. */
    accountId: string;
    /** The ID of the experiment template. */
    experimentTemplateId: string;
    /** The description of the target account. */
    description?: string;
    /** The Amazon Resource Name (ARN) of an IAM role for the target account. */
    roleArn?: string;
}
/** fis service binding for Step Functions SDK integrations. */
export declare class fis {
    constructor();
    createExperimentTemplate<T>(params: CreateExperimentTemplateInput): Promise<T>;
    createTargetAccountConfiguration<T>(params: CreateTargetAccountConfigurationInput): Promise<T>;
    deleteExperimentTemplate<T>(params: DeleteExperimentTemplateInput): Promise<T>;
    deleteTargetAccountConfiguration<T>(params: DeleteTargetAccountConfigurationInput): Promise<T>;
    getAction<T>(params: GetActionInput): Promise<T>;
    getExperiment<T>(params: GetExperimentInput): Promise<T>;
    getExperimentTargetAccountConfiguration<T>(params: GetExperimentTargetAccountConfigurationInput): Promise<T>;
    getExperimentTemplate<T>(params: GetExperimentTemplateInput): Promise<T>;
    getSafetyLever<T>(params: GetSafetyLeverInput): Promise<T>;
    getTargetAccountConfiguration<T>(params: GetTargetAccountConfigurationInput): Promise<T>;
    getTargetResourceType<T>(params: GetTargetResourceTypeInput): Promise<T>;
    listActions<T>(params: ListActionsInput): Promise<T>;
    listExperimentResolvedTargets<T>(params: ListExperimentResolvedTargetsInput): Promise<T>;
    listExperiments<T>(params: ListExperimentsInput): Promise<T>;
    listExperimentTargetAccountConfigurations<T>(params: ListExperimentTargetAccountConfigurationsInput): Promise<T>;
    listExperimentTemplates<T>(params: ListExperimentTemplatesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTargetAccountConfigurations<T>(params: ListTargetAccountConfigurationsInput): Promise<T>;
    listTargetResourceTypes<T>(params: ListTargetResourceTypesInput): Promise<T>;
    startExperiment<T>(params: StartExperimentInput): Promise<T>;
    stopExperiment<T>(params: StopExperimentInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateExperimentTemplate<T>(params: UpdateExperimentTemplateInput): Promise<T>;
    updateSafetyLeverState<T>(params: UpdateSafetyLeverStateInput): Promise<T>;
    updateTargetAccountConfiguration<T>(params: UpdateTargetAccountConfigurationInput): Promise<T>;
}
//# sourceMappingURL=fis.d.ts.map