export interface FilterCriteria {
    /** The event patterns. */
    Filters?: any[];
}
export interface UpdatePipeSourceKinesisStreamParameters {
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** Define the target queue to send dead-letter queue events to. */
    DeadLetterConfig?: any;
    /** Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. */
    OnPartialBatchItemFailure?: 'AUTOMATIC_BISECT';
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
    /** Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. */
    MaximumRecordAgeInSeconds?: number;
    /** Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed  */
    MaximumRetryAttempts?: number;
    /** The number of batches to process concurrently from each shard. The default value is 1. */
    ParallelizationFactor?: number;
}
export interface UpdatePipeSourceDynamoDBStreamParameters {
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** Define the target queue to send dead-letter queue events to. */
    DeadLetterConfig?: any;
    /** Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. */
    OnPartialBatchItemFailure?: 'AUTOMATIC_BISECT';
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
    /** Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. */
    MaximumRecordAgeInSeconds?: number;
    /** Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed  */
    MaximumRetryAttempts?: number;
    /** The number of batches to process concurrently from each shard. The default value is 1. */
    ParallelizationFactor?: number;
}
export interface UpdatePipeSourceSqsQueueParameters {
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
}
export interface UpdatePipeSourceActiveMQBrokerParameters {
    /** The credentials needed to access the resource. */
    Credentials: any;
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
}
export interface UpdatePipeSourceRabbitMQBrokerParameters {
    /** The credentials needed to access the resource. */
    Credentials: any;
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
}
export interface UpdatePipeSourceManagedStreamingKafkaParameters {
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** The credentials needed to access the resource. */
    Credentials?: any;
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
}
export interface UpdatePipeSourceSelfManagedKafkaParameters {
    /** The maximum number of records to include in each batch. */
    BatchSize?: number;
    /** The maximum length of a time to wait for events. */
    MaximumBatchingWindowInSeconds?: number;
    /** The credentials needed to access the resource. */
    Credentials?: any;
    /** The ARN of the Secrets Manager secret used for certification. */
    ServerRootCaCertificate?: string;
    /** This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used. */
    Vpc?: any;
}
export interface UpdatePipeSourceParameters {
    /** The collection of event patterns used to filter events. To remove a filter, specify a FilterCriteria object with an empty array of Filter objects. For more information, see Events and Event Patterns i */
    FilterCriteria?: FilterCriteria;
    /** The parameters for using a Kinesis stream as a source. */
    KinesisStreamParameters?: UpdatePipeSourceKinesisStreamParameters;
    /** The parameters for using a DynamoDB stream as a source. */
    DynamoDBStreamParameters?: UpdatePipeSourceDynamoDBStreamParameters;
    /** The parameters for using a Amazon SQS stream as a source. */
    SqsQueueParameters?: UpdatePipeSourceSqsQueueParameters;
    /** The parameters for using an Active MQ broker as a source. */
    ActiveMQBrokerParameters?: UpdatePipeSourceActiveMQBrokerParameters;
    /** The parameters for using a Rabbit MQ broker as a source. */
    RabbitMQBrokerParameters?: UpdatePipeSourceRabbitMQBrokerParameters;
    /** The parameters for using an MSK stream as a source. */
    ManagedStreamingKafkaParameters?: UpdatePipeSourceManagedStreamingKafkaParameters;
    /** The parameters for using a self-managed Apache Kafka stream as a source. A self managed cluster refers to any Apache Kafka cluster not hosted by Amazon Web Services. This includes both clusters you ma */
    SelfManagedKafkaParameters?: UpdatePipeSourceSelfManagedKafkaParameters;
}
export interface PipeEnrichmentHttpParameters {
    /** The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards ("*"). */
    PathParameterValues?: any[];
    /** The headers that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination. */
    HeaderParameters?: Record<string, any>;
    /** The query string keys/values that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination. */
    QueryStringParameters?: Record<string, any>;
}
export interface PipeEnrichmentParameters {
    /** Valid JSON text passed to the enrichment. In this case, nothing from the event itself is passed to the enrichment. For more information, see The JavaScript Object Notation (JSON) Data Interchange Form */
    InputTemplate?: string;
    /** Contains the HTTP parameters to use when the target is a API Gateway REST endpoint or EventBridge ApiDestination. If you specify an API Gateway REST API or EventBridge ApiDestination as a target, you  */
    HttpParameters?: PipeEnrichmentHttpParameters;
}
export interface PipeTargetLambdaFunctionParameters {
    /** Specify whether to invoke the function synchronously or asynchronously. REQUEST_RESPONSE (default) - Invoke synchronously. This corresponds to the RequestResponse option in the InvocationType paramete */
    InvocationType?: 'REQUEST_RESPONSE' | 'FIRE_AND_FORGET';
}
export interface PipeTargetStateMachineParameters {
    /** Specify whether to invoke the Step Functions state machine synchronously or asynchronously. REQUEST_RESPONSE (default) - Invoke synchronously. For more information, see StartSyncExecution in the Step  */
    InvocationType?: 'REQUEST_RESPONSE' | 'FIRE_AND_FORGET';
}
export interface PipeTargetKinesisStreamParameters {
    /** Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the */
    PartitionKey: string;
}
export interface PipeTargetEcsTaskParameters {
    /** The ARN of the task definition to use if the event target is an Amazon ECS task. */
    TaskDefinitionArn: string;
    /** The number of tasks to create based on TaskDefinition. The default is 1. */
    TaskCount?: number;
    /** Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The FARGATE value is supported on */
    LaunchType?: 'EC2' | 'FARGATE' | 'EXTERNAL';
    /** Use this structure if the Amazon ECS task uses the awsvpc network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be  */
    NetworkConfiguration?: any;
    /** Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0. This structure is used only if LaunchType is FARGATE. For more information about v */
    PlatformVersion?: string;
    /** Specifies an Amazon ECS task group for the task. The maximum length is 255 characters. */
    Group?: string;
    /** The capacity provider strategy to use for the task. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the */
    CapacityProviderStrategy?: any[];
    /** Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide. */
    EnableECSManagedTags?: boolean;
    /** Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task. */
    EnableExecuteCommand?: boolean;
    /** An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime). */
    PlacementConstraints?: any[];
    /** The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task. */
    PlacementStrategy?: any[];
    /** Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To ad */
    PropagateTags?: 'TASK_DEFINITION';
    /** The reference ID to use for the task. */
    ReferenceId?: string;
    /** The overrides that are associated with a task. */
    Overrides?: any;
    /** The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see RunTask in the Amazon E */
    Tags?: any[];
}
export interface PipeTargetBatchJobParameters {
    /** The job definition used by this job. This value can be one of name, name:revision, or the Amazon Resource Name (ARN) for the job definition. If name is specified without a revision then the latest act */
    JobDefinition: string;
    /** The name of the job. It can be up to 128 letters long. The first character must be alphanumeric, can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). */
    JobName: string;
    /** The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This paramete */
    ArrayProperties?: any;
    /** The retry strategy to use for failed jobs. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition. */
    RetryStrategy?: any;
    /** The overrides that are sent to a container. */
    ContainerOverrides?: any;
    /** A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job com */
    DependsOn?: any[];
    /** Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition. Parameters are specified as a key and value pair mapping. Parameters includ */
    Parameters?: Record<string, any>;
}
export interface PipeTargetSqsQueueParameters {
    /** The FIFO message group ID to use as the target. */
    MessageGroupId?: string;
    /** This parameter applies only to FIFO (first-in-first-out) queues. The token used for deduplication of sent messages. */
    MessageDeduplicationId?: string;
}
export interface PipeTargetHttpParameters {
    /** The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards ("*"). */
    PathParameterValues?: any[];
    /** The headers that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination. */
    HeaderParameters?: Record<string, any>;
    /** The query string keys/values that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination. */
    QueryStringParameters?: Record<string, any>;
}
export interface PipeTargetRedshiftDataParameters {
    /** The name or ARN of the secret that enables access to the database. Required when authenticating using Secrets Manager. */
    SecretManagerArn?: string;
    /** The name of the database. Required when authenticating using temporary credentials. */
    Database: string;
    /** The database user name. Required when authenticating using temporary credentials. */
    DbUser?: string;
    /** The name of the SQL statement. You can name the SQL statement when you create it to identify the query. */
    StatementName?: string;
    /** Indicates whether to send an event back to EventBridge after the SQL statement runs. */
    WithEvent?: boolean;
    /** The SQL statement text to run. */
    Sqls: any[];
}
export interface PipeTargetSageMakerPipelineParameters {
    /** List of Parameter names and values for SageMaker Model Building Pipeline execution. */
    PipelineParameterList?: any[];
}
export interface PipeTargetEventBridgeEventBusParameters {
    /** The URL subdomain of the endpoint. For example, if the URL for Endpoint is https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is abcde.veo. */
    EndpointId?: string;
    /** A free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail. */
    DetailType?: string;
    /** The source of the event. */
    Source?: string;
    /** Amazon Web Services resources, identified by Amazon Resource Name (ARN), which the event primarily concerns. Any number, including zero, may be present. */
    Resources?: any[];
    /** The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used. */
    Time?: string;
}
export interface PipeTargetCloudWatchLogsParameters {
    /** The name of the log stream. */
    LogStreamName?: string;
    /** The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. */
    Timestamp?: string;
}
export interface PipeTargetTimestreamParameters {
    /** Dynamic path to the source data field that represents the time value for your data. */
    TimeValue: string;
    /** The granularity of the time units used. Default is MILLISECONDS. Required if TimeFieldType is specified as EPOCH. */
    EpochTimeUnit?: 'MILLISECONDS' | 'SECONDS' | 'MICROSECONDS' | 'NANOSECONDS';
    /** The type of time value used. The default is EPOCH. */
    TimeFieldType?: 'EPOCH' | 'TIMESTAMP_FORMAT';
    /** How to format the timestamps. For example, yyyy-MM-dd'T'HH:mm:ss'Z'. Required if TimeFieldType is specified as TIMESTAMP_FORMAT. */
    TimestampFormat?: string;
    /** 64 bit version value or source data field that represents the version value for your data. Write requests with a higher version number will update the existing measure values of the record and version */
    VersionValue: string;
    /** Map source data to dimensions in the target Timestream for LiveAnalytics table. For more information, see Amazon Timestream for LiveAnalytics concepts */
    DimensionMappings: any[];
    /** Mappings of single source data fields to individual records in the specified Timestream for LiveAnalytics table. */
    SingleMeasureMappings?: any[];
    /** Maps multiple measures from the source event to the same record in the specified Timestream for LiveAnalytics table. */
    MultiMeasureMappings?: any[];
}
export interface PipeTargetParameters {
    /** Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format. To r */
    InputTemplate?: string;
    /** The parameters for using a Lambda function as a target. */
    LambdaFunctionParameters?: PipeTargetLambdaFunctionParameters;
    /** The parameters for using a Step Functions state machine as a target. */
    StepFunctionStateMachineParameters?: PipeTargetStateMachineParameters;
    /** The parameters for using a Kinesis stream as a target. */
    KinesisStreamParameters?: PipeTargetKinesisStreamParameters;
    /** The parameters for using an Amazon ECS task as a target. */
    EcsTaskParameters?: PipeTargetEcsTaskParameters;
    /** The parameters for using an Batch job as a target. */
    BatchJobParameters?: PipeTargetBatchJobParameters;
    /** The parameters for using a Amazon SQS stream as a target. */
    SqsQueueParameters?: PipeTargetSqsQueueParameters;
    /** These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations. */
    HttpParameters?: PipeTargetHttpParameters;
    /** These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API BatchExecuteStatement. */
    RedshiftDataParameters?: PipeTargetRedshiftDataParameters;
    /** The parameters for using a SageMaker pipeline as a target. */
    SageMakerPipelineParameters?: PipeTargetSageMakerPipelineParameters;
    /** The parameters for using an EventBridge event bus as a target. */
    EventBridgeEventBusParameters?: PipeTargetEventBridgeEventBusParameters;
    /** The parameters for using an CloudWatch Logs log stream as a target. */
    CloudWatchLogsParameters?: PipeTargetCloudWatchLogsParameters;
    /** The parameters for using a Timestream for LiveAnalytics table as a target. */
    TimestreamParameters?: PipeTargetTimestreamParameters;
}
export interface S3LogDestinationParameters {
    /** Specifies the name of the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. */
    BucketName: string;
    /** Specifies the Amazon Web Services account that owns the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. */
    BucketOwner: string;
    /** How EventBridge should format the log records. EventBridge currently only supports json formatting. */
    OutputFormat?: 'json' | 'plain' | 'w3c';
    /** Specifies any prefix text with which to begin Amazon S3 log object names. You can use prefixes to organize the data that you store in Amazon S3 buckets. A prefix is a string of characters at the begin */
    Prefix?: string;
}
export interface FirehoseLogDestinationParameters {
    /** Specifies the Amazon Resource Name (ARN) of the Firehose delivery stream to which EventBridge delivers the pipe log records. */
    DeliveryStreamArn: string;
}
export interface CloudwatchLogsLogDestinationParameters {
    /** The Amazon Web Services Resource Name (ARN) for the CloudWatch log group to which EventBridge sends the log records. */
    LogGroupArn: string;
}
export interface PipeLogConfigurationParameters {
    /** The Amazon S3 logging configuration settings for the pipe. */
    S3LogDestination?: S3LogDestinationParameters;
    /** The Amazon Data Firehose logging configuration settings for the pipe. */
    FirehoseLogDestination?: FirehoseLogDestinationParameters;
    /** The Amazon CloudWatch Logs logging configuration settings for the pipe. */
    CloudwatchLogsLogDestination?: CloudwatchLogsLogDestinationParameters;
    /** The level of logging detail to include. This applies to all log destinations for the pipe. For more information, see Specifying EventBridge Pipes log level in the Amazon EventBridge User Guide. */
    Level: 'OFF' | 'ERROR' | 'INFO' | 'TRACE';
    /** Specify ALL to include the execution data (specifically, the payload, awsRequest, and awsResponse fields) in the log messages for this pipe. This applies to all log destinations for the pipe. For more */
    IncludeExecutionData?: 'ALL'[];
}
export interface DeletePipeInput {
    /** The name of the pipe. */
    Name: string;
}
export interface DescribePipeInput {
    /** The name of the pipe. */
    Name: string;
}
export interface ListPipesInput {
    /** The state the pipe is in. */
    CurrentState?: 'RUNNING' | 'STOPPED' | 'CREATING' | 'UPDATING' | 'DELETING' | 'STARTING' | 'STOPPING' | 'CREATE_FAILED' | 'UPDATE_FAILED' | 'START_FAILED' | 'STOP_FAILED' | 'DELETE_FAILED' | 'CREATE_ROLLBACK_FAILED' | 'DELETE_ROLLBACK_FAILED' | 'UPDATE_ROLLBACK_FAILED';
    /** The state the pipe should be in. */
    DesiredState?: 'RUNNING' | 'STOPPED';
    /** The maximum number of pipes to include in the response. */
    Limit?: number;
    /** A value that will return a subset of the pipes associated with this account. For example, "NamePrefix": "ABC" will return all endpoints with "ABC" in the name. */
    NamePrefix?: string;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
    /** The prefix matching the pipe source. */
    SourcePrefix?: string;
    /** The prefix matching the pipe target. */
    TargetPrefix?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the pipe for which you want to view tags. */
    resourceArn: string;
}
export interface StartPipeInput {
    /** The name of the pipe. */
    Name: string;
}
export interface StopPipeInput {
    /** The name of the pipe. */
    Name: string;
}
export interface TagResourceInput {
    /** The ARN of the pipe. */
    resourceArn: string;
    /** The list of key-value pairs associated with the pipe. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the pipe. */
    resourceArn: string;
    /** The list of tag keys to remove from the pipe. */
    tagKeys: string[];
}
export interface UpdatePipeInput {
    /** The name of the pipe. */
    Name: string;
    /** The ARN of the role that allows the pipe to send data to the target. */
    RoleArn: string;
    /** A description of the pipe. */
    Description?: string;
    /** The state the pipe should be in. */
    DesiredState?: 'RUNNING' | 'STOPPED';
    /** The ARN of the enrichment resource. */
    Enrichment?: string;
    /** The parameters required to set up enrichment on your pipe. */
    EnrichmentParameters?: PipeEnrichmentParameters;
    /** The identifier of the KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt pipe data. The identifier can be the key Amazon Resource Name (ARN), KeyId */
    KmsKeyIdentifier?: string;
    /** The logging configuration settings for the pipe. */
    LogConfiguration?: PipeLogConfigurationParameters;
    /** The parameters required to set up a source for your pipe. */
    SourceParameters?: UpdatePipeSourceParameters;
    /** The ARN of the target resource. */
    Target?: string;
    /** The parameters required to set up a target for your pipe. For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBrid */
    TargetParameters?: PipeTargetParameters;
}
/** Pipes service binding for Step Functions SDK integrations. */
export declare class Pipes {
    constructor();
    deletePipe<T>(params: DeletePipeInput): Promise<T>;
    describePipe<T>(params: DescribePipeInput): Promise<T>;
    listPipes<T>(params: ListPipesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startPipe<T>(params: StartPipeInput): Promise<T>;
    stopPipe<T>(params: StopPipeInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updatePipe<T>(params: UpdatePipeInput): Promise<T>;
}
//# sourceMappingURL=Pipes.d.ts.map