import * as core from "@terrascript/core";
export interface EfsFileLocationArgs extends core.SchemaArgs {
    fileSystemId?: string | core.StringOut;
    path?: string | core.StringOut;
}
export declare class EfsFileLocation extends core.Schema<EfsFileLocationArgs> {
    fileSystemId?: string | core.StringOut;
    path?: string | core.StringOut;
}
export interface S3FileLocationArgs extends core.SchemaArgs {
    bucket?: string | core.StringOut;
    key?: string | core.StringOut;
}
export declare class S3FileLocation extends core.Schema<S3FileLocationArgs> {
    bucket?: string | core.StringOut;
    key?: string | core.StringOut;
}
export interface DestinationFileLocationArgs extends core.SchemaArgs {
    efsFileLocation?: EfsFileLocation;
    s3FileLocation?: S3FileLocation;
}
export declare class DestinationFileLocation extends core.Schema<DestinationFileLocationArgs> {
    efsFileLocation?: EfsFileLocation;
    s3FileLocation?: S3FileLocation;
}
export interface CopyStepDetailsArgs extends core.SchemaArgs {
    destinationFileLocation?: DestinationFileLocation;
    name?: string | core.StringOut;
    overwriteExisting?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
}
export declare class CopyStepDetails extends core.Schema<CopyStepDetailsArgs> {
    destinationFileLocation?: DestinationFileLocation;
    name?: string | core.StringOut;
    overwriteExisting?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
}
export interface CustomStepDetailsArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
    target?: string | core.StringOut;
    timeoutSeconds?: number | core.NumberOut;
}
export declare class CustomStepDetails extends core.Schema<CustomStepDetailsArgs> {
    name?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
    target?: string | core.StringOut;
    timeoutSeconds?: number | core.NumberOut;
}
export interface DeleteStepDetailsArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
}
export declare class DeleteStepDetails extends core.Schema<DeleteStepDetailsArgs> {
    name?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
}
export interface TagsArgs extends core.SchemaArgs {
    key: string | core.StringOut;
    value: string | core.StringOut;
}
export declare class Tags extends core.Schema<TagsArgs> {
    key: string | core.StringOut;
    value: string | core.StringOut;
}
export interface TagStepDetailsArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
    tags?: core.Array<Tags> | core.ArrayOut<Tags>;
}
export declare class TagStepDetails extends core.Schema<TagStepDetailsArgs> {
    name?: string | core.StringOut;
    sourceFileLocation?: string | core.StringOut;
    tags?: core.Array<Tags> | core.ArrayOut<Tags>;
}
export interface OnExceptionStepsArgs extends core.SchemaArgs {
    copyStepDetails?: CopyStepDetails;
    customStepDetails?: CustomStepDetails;
    deleteStepDetails?: DeleteStepDetails;
    tagStepDetails?: TagStepDetails;
    type: string | core.StringOut;
}
export declare class OnExceptionSteps extends core.Schema<OnExceptionStepsArgs> {
    copyStepDetails?: CopyStepDetails;
    customStepDetails?: CustomStepDetails;
    deleteStepDetails?: DeleteStepDetails;
    tagStepDetails?: TagStepDetails;
    type: string | core.StringOut;
}
export interface StepsArgs extends core.SchemaArgs {
    copyStepDetails?: CopyStepDetails;
    customStepDetails?: CustomStepDetails;
    deleteStepDetails?: DeleteStepDetails;
    tagStepDetails?: TagStepDetails;
    type: string | core.StringOut;
}
export declare class Steps extends core.Schema<StepsArgs> {
    copyStepDetails?: CopyStepDetails;
    customStepDetails?: CustomStepDetails;
    deleteStepDetails?: DeleteStepDetails;
    tagStepDetails?: TagStepDetails;
    type: string | core.StringOut;
}
export interface WorkflowArgs extends core.ResourceArgs {
    description?: string | core.StringOut;
    onExceptionSteps?: core.Array<OnExceptionSteps> | core.ArrayOut<OnExceptionSteps>;
    steps: core.Array<Steps> | core.ArrayOut<Steps>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Workflow extends core.Resource<WorkflowArgs> {
    arn: string | core.StringOut;
    description?: string | core.StringOut;
    id: string | core.StringOut;
    onExceptionSteps?: core.Array<OnExceptionSteps> | core.ArrayOut<OnExceptionSteps>;
    steps: core.Array<Steps> | core.ArrayOut<Steps>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: WorkflowArgs);
    getNamespace(): string;
}
//# sourceMappingURL=workflow.d.ts.map