import * as HttpClient from "effect/unstable/http/HttpClient";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type ResourceArn = string;
export type TagKey = string;
export type TagValue = string;
export type StepInputParametersKey = string;
export type StringValue = string;
export type StringListMember = string;
export type StringMapKey = string;
export type StringMapValue = string;
export type MigrationWorkflowId = string;
export type MigrationWorkflowStatusEnum = string;
export type MaxResults = number;
export type NextToken = string;
export type TemplateId = string;
export type ApplicationConfigurationName = string;
export type ClientToken = string;
export type TemplateInputName = string;
export type DataType = string;
export type TemplateStatus = string;
export type TemplateName = string;
export type PluginId = string;
export type PluginHealth = string;
export type IPAddress = string;
export type PluginVersion = string;
export type StepId = string;
export type StepGroupId = string;
export type StepActionType = string;
export type S3Key = string;
export type RunEnvironment = string;
export type TargetType = string;
export type Owner = string;
export type StepGroupStatus = string;
export type MigrationWorkflowName = string;
export type MigrationWorkflowDescription = string;
export type S3Bucket = string;
export type WorkflowStepOutputName = string;
export type MaxStringValue = string;
export type StepStatus = string;
export type StepName = string;
export type StepDescription = string;
export type StepGroupName = string;
export type StepGroupDescription = string;
export interface ListTagsForResourceRequest {
    resourceArn: string;
}
export declare const ListTagsForResourceRequest: S.Schema<ListTagsForResourceRequest>;
export type TagMap = {
    [key: string]: string | undefined;
};
export declare const TagMap: S.$Record<S.String, S.optional<S.String>>;
export interface ListTagsForResourceResponse {
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const ListTagsForResourceResponse: S.Schema<ListTagsForResourceResponse>;
export interface TagResourceRequest {
    resourceArn: string;
    tags: {
        [key: string]: string | undefined;
    };
}
export declare const TagResourceRequest: S.Schema<TagResourceRequest>;
export interface TagResourceResponse {
}
export declare const TagResourceResponse: S.Schema<TagResourceResponse>;
export type TagKeyList = string[];
export declare const TagKeyList: S.$Array<S.String>;
export interface UntagResourceRequest {
    resourceArn: string;
    tagKeys: string[];
}
export declare const UntagResourceRequest: S.Schema<UntagResourceRequest>;
export interface UntagResourceResponse {
}
export declare const UntagResourceResponse: S.Schema<UntagResourceResponse>;
export type StringList = string[];
export declare const StringList: S.$Array<S.String>;
export type StringMap = {
    [key: string]: string | undefined;
};
export declare const StringMap: S.$Record<S.String, S.optional<S.String>>;
export type StepInput = {
    integerValue: number;
    stringValue?: never;
    listOfStringsValue?: never;
    mapOfStringValue?: never;
} | {
    integerValue?: never;
    stringValue: string;
    listOfStringsValue?: never;
    mapOfStringValue?: never;
} | {
    integerValue?: never;
    stringValue?: never;
    listOfStringsValue: string[];
    mapOfStringValue?: never;
} | {
    integerValue?: never;
    stringValue?: never;
    listOfStringsValue?: never;
    mapOfStringValue: {
        [key: string]: string | undefined;
    };
};
export declare const StepInput: S.Union<readonly [S.Struct<{
    readonly integerValue: S.Number;
}>, S.Struct<{
    readonly stringValue: S.String;
}>, S.Struct<{
    readonly listOfStringsValue: S.$Array<S.String>;
}>, S.Struct<{
    readonly mapOfStringValue: S.$Record<S.String, S.optional<S.String>>;
}>]>;
export type StepInputParameters = {
    [key: string]: StepInput | undefined;
};
export declare const StepInputParameters: S.$Record<S.String, S.optional<S.Union<readonly [S.Struct<{
    readonly integerValue: S.Number;
}>, S.Struct<{
    readonly stringValue: S.String;
}>, S.Struct<{
    readonly listOfStringsValue: S.$Array<S.String>;
}>, S.Struct<{
    readonly mapOfStringValue: S.$Record<S.String, S.optional<S.String>>;
}>]>>>;
export interface CreateMigrationWorkflowRequest {
    name: string;
    description?: string;
    templateId: string;
    applicationConfigurationId?: string;
    inputParameters: {
        [key: string]: StepInput | undefined;
    };
    stepTargets?: string[];
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateMigrationWorkflowRequest: S.Schema<CreateMigrationWorkflowRequest>;
export interface CreateMigrationWorkflowResponse {
    id?: string;
    arn?: string;
    name?: string;
    description?: string;
    templateId?: string;
    adsApplicationConfigurationId?: string;
    workflowInputs?: {
        [key: string]: StepInput | undefined;
    };
    stepTargets?: string[];
    status?: string;
    creationTime?: Date;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateMigrationWorkflowResponse: S.Schema<CreateMigrationWorkflowResponse>;
export interface GetMigrationWorkflowRequest {
    id: string;
}
export declare const GetMigrationWorkflowRequest: S.Schema<GetMigrationWorkflowRequest>;
export interface Tool {
    name?: string;
    url?: string;
}
export declare const Tool: S.Schema<Tool>;
export type ToolsList = Tool[];
export declare const ToolsList: S.$Array<S.Schema<Tool>>;
export interface GetMigrationWorkflowResponse {
    id?: string;
    arn?: string;
    name?: string;
    description?: string;
    templateId?: string;
    adsApplicationConfigurationId?: string;
    adsApplicationName?: string;
    status?: string;
    statusMessage?: string;
    creationTime?: Date;
    lastStartTime?: Date;
    lastStopTime?: Date;
    lastModifiedTime?: Date;
    endTime?: Date;
    tools?: Tool[];
    totalSteps?: number;
    completedSteps?: number;
    workflowInputs?: {
        [key: string]: StepInput | undefined;
    };
    tags?: {
        [key: string]: string | undefined;
    };
    workflowBucket?: string;
}
export declare const GetMigrationWorkflowResponse: S.Schema<GetMigrationWorkflowResponse>;
export interface UpdateMigrationWorkflowRequest {
    id: string;
    name?: string;
    description?: string;
    inputParameters?: {
        [key: string]: StepInput | undefined;
    };
    stepTargets?: string[];
}
export declare const UpdateMigrationWorkflowRequest: S.Schema<UpdateMigrationWorkflowRequest>;
export interface UpdateMigrationWorkflowResponse {
    id?: string;
    arn?: string;
    name?: string;
    description?: string;
    templateId?: string;
    adsApplicationConfigurationId?: string;
    workflowInputs?: {
        [key: string]: StepInput | undefined;
    };
    stepTargets?: string[];
    status?: string;
    creationTime?: Date;
    lastModifiedTime?: Date;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const UpdateMigrationWorkflowResponse: S.Schema<UpdateMigrationWorkflowResponse>;
export interface DeleteMigrationWorkflowRequest {
    id: string;
}
export declare const DeleteMigrationWorkflowRequest: S.Schema<DeleteMigrationWorkflowRequest>;
export interface DeleteMigrationWorkflowResponse {
    id?: string;
    arn?: string;
    status?: string;
}
export declare const DeleteMigrationWorkflowResponse: S.Schema<DeleteMigrationWorkflowResponse>;
export interface ListMigrationWorkflowsRequest {
    maxResults?: number;
    nextToken?: string;
    templateId?: string;
    adsApplicationConfigurationName?: string;
    status?: string;
    name?: string;
}
export declare const ListMigrationWorkflowsRequest: S.Schema<ListMigrationWorkflowsRequest>;
export interface MigrationWorkflowSummary {
    id?: string;
    name?: string;
    templateId?: string;
    adsApplicationConfigurationName?: string;
    status?: string;
    creationTime?: Date;
    endTime?: Date;
    statusMessage?: string;
    completedSteps?: number;
    totalSteps?: number;
}
export declare const MigrationWorkflowSummary: S.Schema<MigrationWorkflowSummary>;
export type MigrationWorkflowSummaryList = MigrationWorkflowSummary[];
export declare const MigrationWorkflowSummaryList: S.$Array<S.Schema<MigrationWorkflowSummary>>;
export interface ListMigrationWorkflowsResponse {
    nextToken?: string;
    migrationWorkflowSummary: MigrationWorkflowSummary[];
}
export declare const ListMigrationWorkflowsResponse: S.Schema<ListMigrationWorkflowsResponse>;
export interface StartMigrationWorkflowRequest {
    id: string;
}
export declare const StartMigrationWorkflowRequest: S.Schema<StartMigrationWorkflowRequest>;
export interface StartMigrationWorkflowResponse {
    id?: string;
    arn?: string;
    status?: string;
    statusMessage?: string;
    lastStartTime?: Date;
}
export declare const StartMigrationWorkflowResponse: S.Schema<StartMigrationWorkflowResponse>;
export interface StopMigrationWorkflowRequest {
    id: string;
}
export declare const StopMigrationWorkflowRequest: S.Schema<StopMigrationWorkflowRequest>;
export interface StopMigrationWorkflowResponse {
    id?: string;
    arn?: string;
    status?: string;
    statusMessage?: string;
    lastStopTime?: Date;
}
export declare const StopMigrationWorkflowResponse: S.Schema<StopMigrationWorkflowResponse>;
export type TemplateSource = {
    workflowId: string;
};
export declare const TemplateSource: S.Union<readonly [S.Struct<{
    readonly workflowId: S.String;
}>]>;
export interface CreateTemplateRequest {
    templateName: string;
    templateDescription?: string;
    templateSource: TemplateSource;
    clientToken?: string;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateTemplateRequest: S.Schema<CreateTemplateRequest>;
export interface CreateTemplateResponse {
    templateId?: string;
    templateArn?: string;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateTemplateResponse: S.Schema<CreateTemplateResponse>;
export interface GetMigrationWorkflowTemplateRequest {
    id: string;
}
export declare const GetMigrationWorkflowTemplateRequest: S.Schema<GetMigrationWorkflowTemplateRequest>;
export interface TemplateInput {
    inputName?: string;
    dataType?: string;
    required?: boolean;
}
export declare const TemplateInput: S.Schema<TemplateInput>;
export type TemplateInputList = TemplateInput[];
export declare const TemplateInputList: S.$Array<S.Schema<TemplateInput>>;
export interface GetMigrationWorkflowTemplateResponse {
    id?: string;
    templateArn?: string;
    name?: string;
    description?: string;
    inputs?: TemplateInput[];
    tools?: Tool[];
    creationTime?: Date;
    owner?: string;
    status?: string;
    statusMessage?: string;
    templateClass?: string;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const GetMigrationWorkflowTemplateResponse: S.Schema<GetMigrationWorkflowTemplateResponse>;
export interface UpdateTemplateRequest {
    id: string;
    templateName?: string;
    templateDescription?: string;
    clientToken?: string;
}
export declare const UpdateTemplateRequest: S.Schema<UpdateTemplateRequest>;
export interface UpdateTemplateResponse {
    templateId?: string;
    templateArn?: string;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const UpdateTemplateResponse: S.Schema<UpdateTemplateResponse>;
export interface DeleteTemplateRequest {
    id: string;
}
export declare const DeleteTemplateRequest: S.Schema<DeleteTemplateRequest>;
export interface DeleteTemplateResponse {
}
export declare const DeleteTemplateResponse: S.Schema<DeleteTemplateResponse>;
export interface ListMigrationWorkflowTemplatesRequest {
    maxResults?: number;
    nextToken?: string;
    name?: string;
}
export declare const ListMigrationWorkflowTemplatesRequest: S.Schema<ListMigrationWorkflowTemplatesRequest>;
export interface TemplateSummary {
    id?: string;
    name?: string;
    arn?: string;
    description?: string;
}
export declare const TemplateSummary: S.Schema<TemplateSummary>;
export type TemplateSummaryList = TemplateSummary[];
export declare const TemplateSummaryList: S.$Array<S.Schema<TemplateSummary>>;
export interface ListMigrationWorkflowTemplatesResponse {
    nextToken?: string;
    templateSummary: TemplateSummary[];
}
export declare const ListMigrationWorkflowTemplatesResponse: S.Schema<ListMigrationWorkflowTemplatesResponse>;
export interface ListPluginsRequest {
    maxResults?: number;
    nextToken?: string;
}
export declare const ListPluginsRequest: S.Schema<ListPluginsRequest>;
export interface PluginSummary {
    pluginId?: string;
    hostname?: string;
    status?: string;
    ipAddress?: string;
    version?: string;
    registeredTime?: string;
}
export declare const PluginSummary: S.Schema<PluginSummary>;
export type PluginSummaries = PluginSummary[];
export declare const PluginSummaries: S.$Array<S.Schema<PluginSummary>>;
export interface ListPluginsResponse {
    nextToken?: string;
    plugins?: PluginSummary[];
}
export declare const ListPluginsResponse: S.Schema<ListPluginsResponse>;
export interface GetTemplateStepRequest {
    id: string;
    templateId: string;
    stepGroupId: string;
}
export declare const GetTemplateStepRequest: S.Schema<GetTemplateStepRequest>;
export interface StepOutput {
    name?: string;
    dataType?: string;
    required?: boolean;
}
export declare const StepOutput: S.Schema<StepOutput>;
export type StepOutputList = StepOutput[];
export declare const StepOutputList: S.$Array<S.Schema<StepOutput>>;
export interface PlatformScriptKey {
    linux?: string;
    windows?: string;
}
export declare const PlatformScriptKey: S.Schema<PlatformScriptKey>;
export interface PlatformCommand {
    linux?: string;
    windows?: string;
}
export declare const PlatformCommand: S.Schema<PlatformCommand>;
export interface StepAutomationConfiguration {
    scriptLocationS3Bucket?: string;
    scriptLocationS3Key?: PlatformScriptKey;
    command?: PlatformCommand;
    runEnvironment?: string;
    targetType?: string;
}
export declare const StepAutomationConfiguration: S.Schema<StepAutomationConfiguration>;
export interface GetTemplateStepResponse {
    id?: string;
    stepGroupId?: string;
    templateId?: string;
    name?: string;
    description?: string;
    stepActionType?: string;
    creationTime?: string;
    previous?: string[];
    next?: string[];
    outputs?: StepOutput[];
    stepAutomationConfiguration?: StepAutomationConfiguration;
}
export declare const GetTemplateStepResponse: S.Schema<GetTemplateStepResponse>;
export interface ListTemplateStepsRequest {
    maxResults?: number;
    nextToken?: string;
    templateId: string;
    stepGroupId: string;
}
export declare const ListTemplateStepsRequest: S.Schema<ListTemplateStepsRequest>;
export interface TemplateStepSummary {
    id?: string;
    stepGroupId?: string;
    templateId?: string;
    name?: string;
    stepActionType?: string;
    targetType?: string;
    owner?: string;
    previous?: string[];
    next?: string[];
}
export declare const TemplateStepSummary: S.Schema<TemplateStepSummary>;
export type TemplateStepSummaryList = TemplateStepSummary[];
export declare const TemplateStepSummaryList: S.$Array<S.Schema<TemplateStepSummary>>;
export interface ListTemplateStepsResponse {
    nextToken?: string;
    templateStepSummaryList?: TemplateStepSummary[];
}
export declare const ListTemplateStepsResponse: S.Schema<ListTemplateStepsResponse>;
export interface GetTemplateStepGroupRequest {
    templateId: string;
    id: string;
}
export declare const GetTemplateStepGroupRequest: S.Schema<GetTemplateStepGroupRequest>;
export interface GetTemplateStepGroupResponse {
    templateId?: string;
    id?: string;
    name?: string;
    description?: string;
    status?: string;
    creationTime?: Date;
    lastModifiedTime?: Date;
    tools?: Tool[];
    previous?: string[];
    next?: string[];
}
export declare const GetTemplateStepGroupResponse: S.Schema<GetTemplateStepGroupResponse>;
export interface ListTemplateStepGroupsRequest {
    maxResults?: number;
    nextToken?: string;
    templateId: string;
}
export declare const ListTemplateStepGroupsRequest: S.Schema<ListTemplateStepGroupsRequest>;
export interface TemplateStepGroupSummary {
    id?: string;
    name?: string;
    previous?: string[];
    next?: string[];
}
export declare const TemplateStepGroupSummary: S.Schema<TemplateStepGroupSummary>;
export type TemplateStepGroupSummaryList = TemplateStepGroupSummary[];
export declare const TemplateStepGroupSummaryList: S.$Array<S.Schema<TemplateStepGroupSummary>>;
export interface ListTemplateStepGroupsResponse {
    nextToken?: string;
    templateStepGroupSummary: TemplateStepGroupSummary[];
}
export declare const ListTemplateStepGroupsResponse: S.Schema<ListTemplateStepGroupsResponse>;
export interface WorkflowStepAutomationConfiguration {
    scriptLocationS3Bucket?: string;
    scriptLocationS3Key?: PlatformScriptKey;
    command?: PlatformCommand;
    runEnvironment?: string;
    targetType?: string;
}
export declare const WorkflowStepAutomationConfiguration: S.Schema<WorkflowStepAutomationConfiguration>;
export type MaxStringList = string[];
export declare const MaxStringList: S.$Array<S.String>;
export type WorkflowStepOutputUnion = {
    integerValue: number;
    stringValue?: never;
    listOfStringValue?: never;
} | {
    integerValue?: never;
    stringValue: string;
    listOfStringValue?: never;
} | {
    integerValue?: never;
    stringValue?: never;
    listOfStringValue: string[];
};
export declare const WorkflowStepOutputUnion: S.Union<readonly [S.Struct<{
    readonly integerValue: S.Number;
}>, S.Struct<{
    readonly stringValue: S.String;
}>, S.Struct<{
    readonly listOfStringValue: S.$Array<S.String>;
}>]>;
export interface WorkflowStepOutput {
    name?: string;
    dataType?: string;
    required?: boolean;
    value?: WorkflowStepOutputUnion;
}
export declare const WorkflowStepOutput: S.Schema<WorkflowStepOutput>;
export type WorkflowStepOutputList = WorkflowStepOutput[];
export declare const WorkflowStepOutputList: S.$Array<S.Schema<WorkflowStepOutput>>;
export interface CreateWorkflowStepRequest {
    name: string;
    stepGroupId: string;
    workflowId: string;
    stepActionType: string;
    description?: string;
    workflowStepAutomationConfiguration?: WorkflowStepAutomationConfiguration;
    stepTarget?: string[];
    outputs?: WorkflowStepOutput[];
    previous?: string[];
    next?: string[];
}
export declare const CreateWorkflowStepRequest: S.Schema<CreateWorkflowStepRequest>;
export interface CreateWorkflowStepResponse {
    id?: string;
    stepGroupId?: string;
    workflowId?: string;
    name?: string;
}
export declare const CreateWorkflowStepResponse: S.Schema<CreateWorkflowStepResponse>;
export interface GetWorkflowStepRequest {
    workflowId: string;
    stepGroupId: string;
    id: string;
}
export declare const GetWorkflowStepRequest: S.Schema<GetWorkflowStepRequest>;
export interface GetWorkflowStepResponse {
    name?: string;
    stepGroupId?: string;
    workflowId?: string;
    stepId?: string;
    description?: string;
    stepActionType?: string;
    owner?: string;
    workflowStepAutomationConfiguration?: WorkflowStepAutomationConfiguration;
    stepTarget?: string[];
    outputs?: WorkflowStepOutput[];
    previous?: string[];
    next?: string[];
    status?: string;
    statusMessage?: string;
    scriptOutputLocation?: string;
    creationTime?: Date;
    lastStartTime?: Date;
    endTime?: Date;
    noOfSrvCompleted?: number;
    noOfSrvFailed?: number;
    totalNoOfSrv?: number;
}
export declare const GetWorkflowStepResponse: S.Schema<GetWorkflowStepResponse>;
export interface UpdateWorkflowStepRequest {
    id: string;
    stepGroupId: string;
    workflowId: string;
    name?: string;
    description?: string;
    stepActionType?: string;
    workflowStepAutomationConfiguration?: WorkflowStepAutomationConfiguration;
    stepTarget?: string[];
    outputs?: WorkflowStepOutput[];
    previous?: string[];
    next?: string[];
    status?: string;
}
export declare const UpdateWorkflowStepRequest: S.Schema<UpdateWorkflowStepRequest>;
export interface UpdateWorkflowStepResponse {
    id?: string;
    stepGroupId?: string;
    workflowId?: string;
    name?: string;
}
export declare const UpdateWorkflowStepResponse: S.Schema<UpdateWorkflowStepResponse>;
export interface DeleteWorkflowStepRequest {
    id: string;
    stepGroupId: string;
    workflowId: string;
}
export declare const DeleteWorkflowStepRequest: S.Schema<DeleteWorkflowStepRequest>;
export interface DeleteWorkflowStepResponse {
}
export declare const DeleteWorkflowStepResponse: S.Schema<DeleteWorkflowStepResponse>;
export interface ListWorkflowStepsRequest {
    nextToken?: string;
    maxResults?: number;
    workflowId: string;
    stepGroupId: string;
}
export declare const ListWorkflowStepsRequest: S.Schema<ListWorkflowStepsRequest>;
export interface WorkflowStepSummary {
    stepId?: string;
    name?: string;
    stepActionType?: string;
    owner?: string;
    previous?: string[];
    next?: string[];
    status?: string;
    statusMessage?: string;
    noOfSrvCompleted?: number;
    noOfSrvFailed?: number;
    totalNoOfSrv?: number;
    description?: string;
    scriptLocation?: string;
}
export declare const WorkflowStepSummary: S.Schema<WorkflowStepSummary>;
export type WorkflowStepsSummaryList = WorkflowStepSummary[];
export declare const WorkflowStepsSummaryList: S.$Array<S.Schema<WorkflowStepSummary>>;
export interface ListWorkflowStepsResponse {
    nextToken?: string;
    workflowStepsSummary: WorkflowStepSummary[];
}
export declare const ListWorkflowStepsResponse: S.Schema<ListWorkflowStepsResponse>;
export interface RetryWorkflowStepRequest {
    workflowId: string;
    stepGroupId: string;
    id: string;
}
export declare const RetryWorkflowStepRequest: S.Schema<RetryWorkflowStepRequest>;
export interface RetryWorkflowStepResponse {
    stepGroupId?: string;
    workflowId?: string;
    id?: string;
    status?: string;
}
export declare const RetryWorkflowStepResponse: S.Schema<RetryWorkflowStepResponse>;
export interface CreateWorkflowStepGroupRequest {
    workflowId: string;
    name: string;
    description?: string;
    next?: string[];
    previous?: string[];
}
export declare const CreateWorkflowStepGroupRequest: S.Schema<CreateWorkflowStepGroupRequest>;
export interface CreateWorkflowStepGroupResponse {
    workflowId?: string;
    name?: string;
    id?: string;
    description?: string;
    tools?: Tool[];
    next?: string[];
    previous?: string[];
    creationTime?: Date;
}
export declare const CreateWorkflowStepGroupResponse: S.Schema<CreateWorkflowStepGroupResponse>;
export interface GetWorkflowStepGroupRequest {
    id: string;
    workflowId: string;
}
export declare const GetWorkflowStepGroupRequest: S.Schema<GetWorkflowStepGroupRequest>;
export interface GetWorkflowStepGroupResponse {
    id?: string;
    workflowId?: string;
    name?: string;
    description?: string;
    status?: string;
    owner?: string;
    creationTime?: Date;
    lastModifiedTime?: Date;
    endTime?: Date;
    tools?: Tool[];
    previous?: string[];
    next?: string[];
}
export declare const GetWorkflowStepGroupResponse: S.Schema<GetWorkflowStepGroupResponse>;
export interface UpdateWorkflowStepGroupRequest {
    workflowId: string;
    id: string;
    name?: string;
    description?: string;
    next?: string[];
    previous?: string[];
}
export declare const UpdateWorkflowStepGroupRequest: S.Schema<UpdateWorkflowStepGroupRequest>;
export interface UpdateWorkflowStepGroupResponse {
    workflowId?: string;
    name?: string;
    id?: string;
    description?: string;
    tools?: Tool[];
    next?: string[];
    previous?: string[];
    lastModifiedTime?: Date;
}
export declare const UpdateWorkflowStepGroupResponse: S.Schema<UpdateWorkflowStepGroupResponse>;
export interface DeleteWorkflowStepGroupRequest {
    workflowId: string;
    id: string;
}
export declare const DeleteWorkflowStepGroupRequest: S.Schema<DeleteWorkflowStepGroupRequest>;
export interface DeleteWorkflowStepGroupResponse {
}
export declare const DeleteWorkflowStepGroupResponse: S.Schema<DeleteWorkflowStepGroupResponse>;
export interface ListWorkflowStepGroupsRequest {
    nextToken?: string;
    maxResults?: number;
    workflowId: string;
}
export declare const ListWorkflowStepGroupsRequest: S.Schema<ListWorkflowStepGroupsRequest>;
export interface WorkflowStepGroupSummary {
    id?: string;
    name?: string;
    owner?: string;
    status?: string;
    previous?: string[];
    next?: string[];
}
export declare const WorkflowStepGroupSummary: S.Schema<WorkflowStepGroupSummary>;
export type WorkflowStepGroupsSummaryList = WorkflowStepGroupSummary[];
export declare const WorkflowStepGroupsSummaryList: S.$Array<S.Schema<WorkflowStepGroupSummary>>;
export interface ListWorkflowStepGroupsResponse {
    nextToken?: string;
    workflowStepGroupsSummary: WorkflowStepGroupSummary[];
}
export declare const ListWorkflowStepGroupsResponse: S.Schema<ListWorkflowStepGroupsResponse>;
declare const ResourceNotFoundException_base: S.Class<ResourceNotFoundException, S.TaggedStruct<"ResourceNotFoundException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceNotFoundException extends ResourceNotFoundException_base {
}
declare const ValidationException_base: S.Class<ValidationException, S.TaggedStruct<"ValidationException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
}) & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        RetryableError: true;
    };
});
export declare class ValidationException extends ValidationException_base {
}
declare const AccessDeniedException_base: S.Class<AccessDeniedException, S.TaggedStruct<"AccessDeniedException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AuthError: true;
    };
}) & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        RetryableError: true;
    };
});
export declare class AccessDeniedException extends AccessDeniedException_base {
}
declare const InternalServerException_base: S.Class<InternalServerException, S.TaggedStruct<"InternalServerException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class InternalServerException extends InternalServerException_base {
}
declare const ThrottlingException_base: S.Class<ThrottlingException, S.TaggedStruct<"ThrottlingException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class ThrottlingException extends ThrottlingException_base {
}
declare const ConflictException_base: S.Class<ConflictException, S.TaggedStruct<"ConflictException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
}) & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        RetryableError: true;
    };
});
export declare class ConflictException extends ConflictException_base {
}
export type ListTagsForResourceError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * List the tags added to a resource.
 */
export declare const listTagsForResource: API.OperationMethod<ListTagsForResourceRequest, ListTagsForResourceResponse, ListTagsForResourceError, Credentials | Region | HttpClient.HttpClient>;
export type TagResourceError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Tag a resource by specifying its Amazon Resource Name (ARN).
 */
export declare const tagResource: API.OperationMethod<TagResourceRequest, TagResourceResponse, TagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UntagResourceError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Deletes the tags for a resource.
 */
export declare const untagResource: API.OperationMethod<UntagResourceRequest, UntagResourceResponse, UntagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type CreateWorkflowError = AccessDeniedException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Create a workflow to orchestrate your migrations.
 */
export declare const createWorkflow: API.OperationMethod<CreateMigrationWorkflowRequest, CreateMigrationWorkflowResponse, CreateWorkflowError, Credentials | Region | HttpClient.HttpClient>;
export type GetWorkflowError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Get migration workflow.
 */
export declare const getWorkflow: API.OperationMethod<GetMigrationWorkflowRequest, GetMigrationWorkflowResponse, GetWorkflowError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateWorkflowError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Update a migration workflow.
 */
export declare const updateWorkflow: API.OperationMethod<UpdateMigrationWorkflowRequest, UpdateMigrationWorkflowResponse, UpdateWorkflowError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteWorkflowError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Delete a migration workflow. You must pause a running workflow in Migration Hub Orchestrator console to
 * delete it.
 */
export declare const deleteWorkflow: API.OperationMethod<DeleteMigrationWorkflowRequest, DeleteMigrationWorkflowResponse, DeleteWorkflowError, Credentials | Region | HttpClient.HttpClient>;
export type ListWorkflowsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * List the migration workflows.
 */
export declare const listWorkflows: API.OperationMethod<ListMigrationWorkflowsRequest, ListMigrationWorkflowsResponse, ListWorkflowsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListMigrationWorkflowsRequest) => stream.Stream<ListMigrationWorkflowsResponse, ListWorkflowsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListMigrationWorkflowsRequest) => stream.Stream<MigrationWorkflowSummary, ListWorkflowsError, Credentials | Region | HttpClient.HttpClient>;
};
export type StartWorkflowError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Start a migration workflow.
 */
export declare const startWorkflow: API.OperationMethod<StartMigrationWorkflowRequest, StartMigrationWorkflowResponse, StartWorkflowError, Credentials | Region | HttpClient.HttpClient>;
export type StopWorkflowError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Stop an ongoing migration workflow.
 */
export declare const stopWorkflow: API.OperationMethod<StopMigrationWorkflowRequest, StopMigrationWorkflowResponse, StopWorkflowError, Credentials | Region | HttpClient.HttpClient>;
export type CreateTemplateError = AccessDeniedException | ConflictException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates a migration workflow template.
 */
export declare const createTemplate: API.OperationMethod<CreateTemplateRequest, CreateTemplateResponse, CreateTemplateError, Credentials | Region | HttpClient.HttpClient>;
export type GetTemplateError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | CommonErrors;
/**
 * Get the template you want to use for creating a migration workflow.
 */
export declare const getTemplate: API.OperationMethod<GetMigrationWorkflowTemplateRequest, GetMigrationWorkflowTemplateResponse, GetTemplateError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateTemplateError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Updates a migration workflow template.
 */
export declare const updateTemplate: API.OperationMethod<UpdateTemplateRequest, UpdateTemplateResponse, UpdateTemplateError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteTemplateError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes a migration workflow template.
 */
export declare const deleteTemplate: API.OperationMethod<DeleteTemplateRequest, DeleteTemplateResponse, DeleteTemplateError, Credentials | Region | HttpClient.HttpClient>;
export type ListTemplatesError = AccessDeniedException | InternalServerException | ThrottlingException | CommonErrors;
/**
 * List the templates available in Migration Hub Orchestrator to create a migration workflow.
 */
export declare const listTemplates: API.OperationMethod<ListMigrationWorkflowTemplatesRequest, ListMigrationWorkflowTemplatesResponse, ListTemplatesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListMigrationWorkflowTemplatesRequest) => stream.Stream<ListMigrationWorkflowTemplatesResponse, ListTemplatesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListMigrationWorkflowTemplatesRequest) => stream.Stream<TemplateSummary, ListTemplatesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListPluginsError = AccessDeniedException | InternalServerException | ValidationException | CommonErrors;
/**
 * List AWS Migration Hub Orchestrator plugins.
 */
export declare const listPlugins: API.OperationMethod<ListPluginsRequest, ListPluginsResponse, ListPluginsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListPluginsRequest) => stream.Stream<ListPluginsResponse, ListPluginsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListPluginsRequest) => stream.Stream<PluginSummary, ListPluginsError, Credentials | Region | HttpClient.HttpClient>;
};
export type GetTemplateStepError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Get a specific step in a template.
 */
export declare const getTemplateStep: API.OperationMethod<GetTemplateStepRequest, GetTemplateStepResponse, GetTemplateStepError, Credentials | Region | HttpClient.HttpClient>;
export type ListTemplateStepsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * List the steps in a template.
 */
export declare const listTemplateSteps: API.OperationMethod<ListTemplateStepsRequest, ListTemplateStepsResponse, ListTemplateStepsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListTemplateStepsRequest) => stream.Stream<ListTemplateStepsResponse, ListTemplateStepsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListTemplateStepsRequest) => stream.Stream<TemplateStepSummary, ListTemplateStepsError, Credentials | Region | HttpClient.HttpClient>;
};
export type GetTemplateStepGroupError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Get a step group in a template.
 */
export declare const getTemplateStepGroup: API.OperationMethod<GetTemplateStepGroupRequest, GetTemplateStepGroupResponse, GetTemplateStepGroupError, Credentials | Region | HttpClient.HttpClient>;
export type ListTemplateStepGroupsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | CommonErrors;
/**
 * List the step groups in a template.
 */
export declare const listTemplateStepGroups: API.OperationMethod<ListTemplateStepGroupsRequest, ListTemplateStepGroupsResponse, ListTemplateStepGroupsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListTemplateStepGroupsRequest) => stream.Stream<ListTemplateStepGroupsResponse, ListTemplateStepGroupsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListTemplateStepGroupsRequest) => stream.Stream<TemplateStepGroupSummary, ListTemplateStepGroupsError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateWorkflowStepError = AccessDeniedException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Create a step in the migration workflow.
 */
export declare const createWorkflowStep: API.OperationMethod<CreateWorkflowStepRequest, CreateWorkflowStepResponse, CreateWorkflowStepError, Credentials | Region | HttpClient.HttpClient>;
export type GetWorkflowStepError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | CommonErrors;
/**
 * Get a step in the migration workflow.
 */
export declare const getWorkflowStep: API.OperationMethod<GetWorkflowStepRequest, GetWorkflowStepResponse, GetWorkflowStepError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateWorkflowStepError = AccessDeniedException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Update a step in a migration workflow.
 */
export declare const updateWorkflowStep: API.OperationMethod<UpdateWorkflowStepRequest, UpdateWorkflowStepResponse, UpdateWorkflowStepError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteWorkflowStepError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Delete a step in a migration workflow. Pause the workflow to delete a running
 * step.
 */
export declare const deleteWorkflowStep: API.OperationMethod<DeleteWorkflowStepRequest, DeleteWorkflowStepResponse, DeleteWorkflowStepError, Credentials | Region | HttpClient.HttpClient>;
export type ListWorkflowStepsError = AccessDeniedException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * List the steps in a workflow.
 */
export declare const listWorkflowSteps: API.OperationMethod<ListWorkflowStepsRequest, ListWorkflowStepsResponse, ListWorkflowStepsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListWorkflowStepsRequest) => stream.Stream<ListWorkflowStepsResponse, ListWorkflowStepsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListWorkflowStepsRequest) => stream.Stream<WorkflowStepSummary, ListWorkflowStepsError, Credentials | Region | HttpClient.HttpClient>;
};
export type RetryWorkflowStepError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | CommonErrors;
/**
 * Retry a failed step in a migration workflow.
 */
export declare const retryWorkflowStep: API.OperationMethod<RetryWorkflowStepRequest, RetryWorkflowStepResponse, RetryWorkflowStepError, Credentials | Region | HttpClient.HttpClient>;
export type CreateWorkflowStepGroupError = AccessDeniedException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Create a step group in a migration workflow.
 */
export declare const createWorkflowStepGroup: API.OperationMethod<CreateWorkflowStepGroupRequest, CreateWorkflowStepGroupResponse, CreateWorkflowStepGroupError, Credentials | Region | HttpClient.HttpClient>;
export type GetWorkflowStepGroupError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Get the step group of a migration workflow.
 */
export declare const getWorkflowStepGroup: API.OperationMethod<GetWorkflowStepGroupRequest, GetWorkflowStepGroupResponse, GetWorkflowStepGroupError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateWorkflowStepGroupError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Update the step group in a migration workflow.
 */
export declare const updateWorkflowStepGroup: API.OperationMethod<UpdateWorkflowStepGroupRequest, UpdateWorkflowStepGroupResponse, UpdateWorkflowStepGroupError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteWorkflowStepGroupError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Delete a step group in a migration workflow.
 */
export declare const deleteWorkflowStepGroup: API.OperationMethod<DeleteWorkflowStepGroupRequest, DeleteWorkflowStepGroupResponse, DeleteWorkflowStepGroupError, Credentials | Region | HttpClient.HttpClient>;
export type ListWorkflowStepGroupsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * List the step groups in a migration workflow.
 */
export declare const listWorkflowStepGroups: API.OperationMethod<ListWorkflowStepGroupsRequest, ListWorkflowStepGroupsResponse, ListWorkflowStepGroupsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListWorkflowStepGroupsRequest) => stream.Stream<ListWorkflowStepGroupsResponse, ListWorkflowStepGroupsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListWorkflowStepGroupsRequest) => stream.Stream<WorkflowStepGroupSummary, ListWorkflowStepGroupsError, Credentials | Region | HttpClient.HttpClient>;
};
export {};
//# sourceMappingURL=migrationhuborchestrator.d.ts.map