export interface ParameterValue {
    /** The ID of the parameter value. */
    id: string;
    /** The field value, expressed as a String. */
    stringValue: string;
}
export interface Tag {
    /** The key name of a tag defined by a user. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide. */
    key: string;
    /** The optional value portion of a tag defined by a user. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide. */
    value: string;
}
export interface InstanceIdentity {
    /** A description of an EC2 instance that is generated when the instance is launched and exposed to the instance via the instance metadata service in the form of a JSON representation of an object. */
    document?: string;
    /** A signature which can be used to verify the accuracy and authenticity of the information provided in the instance identity document. */
    signature?: string;
}
export interface PipelineObject {
    /** The ID of the object. */
    id: string;
    /** The name of the object. */
    name: string;
    /** Key-value pairs that define the properties of the object. */
    fields: any[];
}
export interface ParameterObject {
    /** The ID of the parameter object. */
    id: string;
    /** The attributes of the parameter object. */
    attributes: any[];
}
export interface Query {
    /** List of selectors that define the query. An object must satisfy all of the selectors to match the query. */
    selectors?: any[];
}
export interface Field {
    /** The field identifier. */
    key: string;
    /** The field value, expressed as a String. */
    stringValue?: string;
    /** The field value, expressed as the identifier of another object. */
    refValue?: string;
}
/** Contains the parameters for ActivatePipeline. */
export interface ActivatePipelineInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** A list of parameter values to pass to the pipeline at activation. */
    parameterValues?: ParameterValue[];
    /** The date and time to resume the pipeline. By default, the pipeline resumes from the last completed execution. */
    startTimestamp?: string;
}
/** Contains the parameters for AddTags. */
export interface AddTagsInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** The tags to add, as key/value pairs. */
    tags: Tag[];
}
/** Contains the parameters for CreatePipeline. */
export interface CreatePipelineInput {
    /** The name for the pipeline. You can use the same name for multiple pipelines associated with your AWS account, because AWS Data Pipeline assigns each pipeline a unique pipeline identifier. */
    name: string;
    /** A unique identifier. This identifier is not the same as the pipeline identifier assigned by AWS Data Pipeline. You are responsible for defining the format and ensuring the uniqueness of this identifie */
    uniqueId: string;
    /** The description for the pipeline. */
    description?: string;
    /** A list of tags to associate with the pipeline at creation. Tags let you control access to pipelines. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer G */
    tags?: Tag[];
}
/** Contains the parameters for DeactivatePipeline. */
export interface DeactivatePipelineInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** Indicates whether to cancel any running objects. The default is true, which sets the state of any running objects to CANCELED. If this value is false, the pipeline is deactivated after all running obj */
    cancelActive?: boolean;
}
/** Contains the parameters for DeletePipeline. */
export interface DeletePipelineInput {
    /** The ID of the pipeline. */
    pipelineId: string;
}
/** Contains the parameters for DescribeObjects. */
export interface DescribeObjectsInput {
    /** The IDs of the pipeline objects that contain the definitions to be described. You can pass as many as 25 identifiers in a single call to DescribeObjects. */
    objectIds: string[];
    /** The ID of the pipeline that contains the object definitions. */
    pipelineId: string;
    /** Indicates whether any expressions in the object should be evaluated when the object descriptions are returned. */
    evaluateExpressions?: boolean;
    /** The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call DescribeObjects with the marker value from the pr */
    marker?: string;
}
/** Contains the parameters for DescribePipelines. */
export interface DescribePipelinesInput {
    /** The IDs of the pipelines to describe. You can pass as many as 25 identifiers in a single call. To obtain pipeline IDs, call ListPipelines. */
    pipelineIds: string[];
}
/** Contains the parameters for EvaluateExpression. */
export interface EvaluateExpressionInput {
    /** The expression to evaluate. */
    expression: string;
    /** The ID of the object. */
    objectId: string;
    /** The ID of the pipeline. */
    pipelineId: string;
}
/** Contains the parameters for GetPipelineDefinition. */
export interface GetPipelineDefinitionInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** The version of the pipeline definition to retrieve. Set this parameter to latest (default) to use the last definition saved to the pipeline or active to use the last definition that was activated. */
    version?: string;
}
/** Contains the parameters for ListPipelines. */
export interface ListPipelinesInput {
    /** The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call ListPipelines with the marker value from the prev */
    marker?: string;
}
/** Contains the parameters for PollForTask. */
export interface PollForTaskInput {
    /** The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for worke */
    workerGroup: string;
    /** The public DNS name of the calling task runner. */
    hostname?: string;
    /** Identity information for the EC2 instance that is hosting the task runner. You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. For more information, see */
    instanceIdentity?: InstanceIdentity;
}
/** Contains the parameters for PutPipelineDefinition. */
export interface PutPipelineDefinitionInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** The objects that define the pipeline. These objects overwrite the existing pipeline definition. */
    pipelineObjects: PipelineObject[];
    /** The parameter objects used with the pipeline. */
    parameterObjects?: ParameterObject[];
    /** The parameter values used with the pipeline. */
    parameterValues?: ParameterValue[];
}
/** Contains the parameters for QueryObjects. */
export interface QueryObjectsInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** Indicates whether the query applies to components or instances. The possible values are: COMPONENT, INSTANCE, and ATTEMPT. */
    sphere: string;
    /** The maximum number of object names that QueryObjects will return in a single call. The default value is 100. */
    limit?: number;
    /** The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call QueryObjects with the marker value from the previ */
    marker?: string;
    /** The query that defines the objects to be returned. The Query object can contain a maximum of ten selectors. The conditions in the query are limited to top-level String fields in the object. These filt */
    query?: Query;
}
/** Contains the parameters for RemoveTags. */
export interface RemoveTagsInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** The keys of the tags to remove. */
    tagKeys: string[];
}
/** Contains the parameters for ReportTaskProgress. */
export interface ReportTaskProgressInput {
    /** The ID of the task assigned to the task runner. This value is provided in the response for PollForTask. */
    taskId: string;
    /** Key-value pairs that define the properties of the ReportTaskProgressInput object. */
    fields?: Field[];
}
/** Contains the parameters for ReportTaskRunnerHeartbeat. */
export interface ReportTaskRunnerHeartbeatInput {
    /** The ID of the task runner. This value should be unique across your AWS account. In the case of AWS Data Pipeline Task Runner launched on a resource managed by AWS Data Pipeline, the web service provid */
    taskrunnerId: string;
    /** The public DNS name of the task runner. */
    hostname?: string;
    /** The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for worke */
    workerGroup?: string;
}
/** Contains the parameters for SetStatus. */
export interface SetStatusInput {
    /** The IDs of the objects. The corresponding objects can be either physical or components, but not a mix of both types. */
    objectIds: string[];
    /** The ID of the pipeline that contains the objects. */
    pipelineId: string;
    /** The status to be set on all the objects specified in objectIds. For components, use PAUSE or RESUME. For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED. */
    status: string;
}
/** Contains the parameters for SetTaskStatus. */
export interface SetTaskStatusInput {
    /** The ID of the task assigned to the task runner. This value is provided in the response for PollForTask. */
    taskId: string;
    /** If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully. Preconditions use false. */
    taskStatus: 'FINISHED' | 'FAILED' | 'FALSE';
    /** If an error occurred during the task, this value specifies the error code. This value is set on the physical attempt object. It is used to display error information to the user. It should not start wi */
    errorId?: string;
    /** If an error occurred during the task, this value specifies a text description of the error. This value is set on the physical attempt object. It is used to display error information to the user. The w */
    errorMessage?: string;
    /** If an error occurred during the task, this value specifies the stack trace associated with the error. This value is set on the physical attempt object. It is used to display error information to the u */
    errorStackTrace?: string;
}
/** Contains the parameters for ValidatePipelineDefinition. */
export interface ValidatePipelineDefinitionInput {
    /** The ID of the pipeline. */
    pipelineId: string;
    /** The objects that define the pipeline changes to validate against the pipeline. */
    pipelineObjects: PipelineObject[];
    /** The parameter objects used with the pipeline. */
    parameterObjects?: ParameterObject[];
    /** The parameter values used with the pipeline. */
    parameterValues?: ParameterValue[];
}
/** Data Pipeline service binding for Step Functions SDK integrations. */
export declare class DataPipeline {
    constructor();
    activatePipeline<T>(params: ActivatePipelineInput): Promise<T>;
    addTags<T>(params: AddTagsInput): Promise<T>;
    createPipeline<T>(params: CreatePipelineInput): Promise<T>;
    deactivatePipeline<T>(params: DeactivatePipelineInput): Promise<T>;
    deletePipeline<T>(params: DeletePipelineInput): Promise<T>;
    describeObjects<T>(params: DescribeObjectsInput): Promise<T>;
    describePipelines<T>(params: DescribePipelinesInput): Promise<T>;
    evaluateExpression<T>(params: EvaluateExpressionInput): Promise<T>;
    getPipelineDefinition<T>(params: GetPipelineDefinitionInput): Promise<T>;
    listPipelines<T>(params: ListPipelinesInput): Promise<T>;
    pollForTask<T>(params: PollForTaskInput): Promise<T>;
    putPipelineDefinition<T>(params: PutPipelineDefinitionInput): Promise<T>;
    queryObjects<T>(params: QueryObjectsInput): Promise<T>;
    removeTags<T>(params: RemoveTagsInput): Promise<T>;
    reportTaskProgress<T>(params: ReportTaskProgressInput): Promise<T>;
    reportTaskRunnerHeartbeat<T>(params: ReportTaskRunnerHeartbeatInput): Promise<T>;
    setStatus<T>(params: SetStatusInput): Promise<T>;
    setTaskStatus<T>(params: SetTaskStatusInput): Promise<T>;
    validatePipelineDefinition<T>(params: ValidatePipelineDefinitionInput): Promise<T>;
}
//# sourceMappingURL=DataPipeline.d.ts.map