export interface AutoScaling {
    /** The maximum number of workers allocated to the connector. */
    maxWorkerCount: number;
    /** The number of microcontroller units (MCUs) allocated to each connector worker. The valid values are 1,2,4,8. */
    mcuCount: number;
    /** The minimum number of workers allocated to the connector. */
    minWorkerCount: number;
    /** The scale-in policy for the connector. */
    scaleInPolicy?: any;
    /** The scale-out policy for the connector. */
    scaleOutPolicy?: any;
    /** The maximum number of tasks allocated to the connector during autoscaling operations. Must be at least equal to maxWorkerCount. */
    maxAutoscalingTaskCount?: number;
}
export interface ProvisionedCapacity {
    /** The number of microcontroller units (MCUs) allocated to each connector worker. The valid values are 1,2,4,8. */
    mcuCount: number;
    /** The number of workers that are allocated to the connector. */
    workerCount: number;
}
export interface Capacity {
    /** Information about the auto scaling parameters for the connector. */
    autoScaling?: AutoScaling;
    /** Details about a fixed capacity allocated to a connector. */
    provisionedCapacity?: ProvisionedCapacity;
}
export interface ApacheKafkaCluster {
    /** The bootstrap servers of the cluster. */
    bootstrapServers: string;
    /** Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. */
    vpc: any;
}
export interface KafkaCluster {
    /** The Apache Kafka cluster to which the connector is connected. */
    apacheKafkaCluster: ApacheKafkaCluster;
}
export interface KafkaClusterClientAuthentication {
    /** The type of client authentication used to connect to the Apache Kafka cluster. Value NONE means that no client authentication is used. */
    authenticationType: 'NONE' | 'IAM';
}
export interface KafkaClusterEncryptionInTransit {
    /** The type of encryption in transit to the Apache Kafka cluster. */
    encryptionType: 'PLAINTEXT' | 'TLS';
}
export interface WorkerLogDelivery {
    /** Details about delivering logs to Amazon CloudWatch Logs. */
    cloudWatchLogs?: any;
    /** Details about delivering logs to Amazon Kinesis Data Firehose. */
    firehose?: any;
    /** Details about delivering logs to Amazon S3. */
    s3?: any;
}
export interface LogDelivery {
    /** The workers can send worker logs to different destination types. This configuration specifies the details of these destinations. */
    workerLogDelivery: WorkerLogDelivery;
}
export interface Plugin {
    /** Details about a custom plugin. */
    customPlugin: any;
}
export interface WorkerConfiguration {
    /** The revision of the worker configuration. */
    revision: number;
    /** The Amazon Resource Name (ARN) of the worker configuration. */
    workerConfigurationArn: string;
}
export interface S3Location {
    /** The Amazon Resource Name (ARN) of an S3 bucket. */
    bucketArn: string;
    /** The file key for an object in an S3 bucket. */
    fileKey: string;
    /** The version of an object in an S3 bucket. */
    objectVersion?: string;
}
export interface CustomPluginLocation {
    /** The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3. */
    s3Location: S3Location;
}
export interface AutoScalingUpdate {
    /** The target maximum number of workers allocated to the connector. */
    maxWorkerCount: number;
    /** The target number of microcontroller units (MCUs) allocated to each connector worker. The valid values are 1,2,4,8. */
    mcuCount: number;
    /** The target minimum number of workers allocated to the connector. */
    minWorkerCount: number;
    /** The target scale-in policy for the connector. */
    scaleInPolicy: any;
    /** The target scale-out policy for the connector. */
    scaleOutPolicy: any;
    /** The maximum number of tasks allocated to the connector during autoscaling operations. Must be at least equal to maxWorkerCount. */
    maxAutoscalingTaskCount?: number;
}
export interface ProvisionedCapacityUpdate {
    /** The number of microcontroller units (MCUs) allocated to each connector worker. The valid values are 1,2,4,8. */
    mcuCount: number;
    /** The number of workers that are allocated to the connector. */
    workerCount: number;
}
export interface CapacityUpdate {
    /** The target auto scaling setting. */
    autoScaling?: AutoScalingUpdate;
    /** The target settings for provisioned capacity. */
    provisionedCapacity?: ProvisionedCapacityUpdate;
}
export interface CreateConnectorInput {
    /** Information about the capacity allocated to the connector. Exactly one of the two properties must be specified. */
    capacity: Capacity;
    /** A map of keys to values that represent the configuration for the connector. */
    connectorConfiguration: Record<string, string>;
    /** The name of the connector. */
    connectorName: string;
    /** Specifies which Apache Kafka cluster to connect to. */
    kafkaCluster: KafkaCluster;
    /** Details of the client authentication used by the Apache Kafka cluster. */
    kafkaClusterClientAuthentication: KafkaClusterClientAuthentication;
    /** Details of encryption in transit to the Apache Kafka cluster. */
    kafkaClusterEncryptionInTransit: KafkaClusterEncryptionInTransit;
    /** The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins. */
    kafkaConnectVersion: string;
    /** Amazon MSK Connect does not currently support specifying multiple plugins as a list. To use more than one plugin for your connector, you can create a single custom plugin using a ZIP file that bundles */
    plugins: Plugin[];
    /** The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For exampl */
    serviceExecutionRoleArn: string;
    /** A summary description of the connector. */
    connectorDescription?: string;
    /** Details about log delivery. */
    logDelivery?: LogDelivery;
    /** The network type of the connector. It gives connectors connectivity to either IPv4 (IPV4) or IPv4 and IPv6 (DUAL) destinations. Defaults to IPV4. */
    networkType?: 'IPV4' | 'DUAL';
    /** The tags you want to attach to the connector. */
    tags?: Record<string, string>;
    /** Specifies which worker configuration to use with the connector. */
    workerConfiguration?: WorkerConfiguration;
}
export interface CreateCustomPluginInput {
    /** The type of the plugin file. */
    contentType: 'JAR' | 'ZIP';
    /** Information about the location of a custom plugin. */
    location: CustomPluginLocation;
    /** The name of the custom plugin. */
    name: string;
    /** A summary description of the custom plugin. */
    description?: string;
    /** The tags you want to attach to the custom plugin. */
    tags?: Record<string, string>;
}
export interface CreateWorkerConfigurationInput {
    /** The name of the worker configuration. */
    name: string;
    /** Base64 encoded contents of connect-distributed.properties file. */
    propertiesFileContent: string;
    /** A summary description of the worker configuration. */
    description?: string;
    /** The tags you want to attach to the worker configuration. */
    tags?: Record<string, string>;
}
export interface DeleteConnectorInput {
    /** The Amazon Resource Name (ARN) of the connector that you want to delete. */
    connectorArn: string;
    /** The current version of the connector that you want to delete. */
    currentVersion?: string;
}
export interface DeleteCustomPluginInput {
    /** The Amazon Resource Name (ARN) of the custom plugin that you want to delete. */
    customPluginArn: string;
}
export interface DeleteWorkerConfigurationInput {
    /** The Amazon Resource Name (ARN) of the worker configuration that you want to delete. */
    workerConfigurationArn: string;
}
export interface DescribeConnectorInput {
    /** The Amazon Resource Name (ARN) of the connector that you want to describe. */
    connectorArn: string;
}
export interface DescribeConnectorOperationInput {
    /** ARN of the connector operation to be described. */
    connectorOperationArn: string;
}
export interface DescribeCustomPluginInput {
    /** Returns information about a custom plugin. */
    customPluginArn: string;
}
export interface DescribeWorkerConfigurationInput {
    /** The Amazon Resource Name (ARN) of the worker configuration that you want to get information about. */
    workerConfigurationArn: string;
}
export interface ListConnectorOperationsInput {
    /** The Amazon Resource Name (ARN) of the connector for which to list operations. */
    connectorArn: string;
    /** Maximum number of connector operations to fetch in one get request. */
    maxResults?: number;
    /** If the response is truncated, it includes a NextToken. Send this NextToken in a subsequent request to continue listing from where it left off. */
    nextToken?: string;
}
export interface ListConnectorsInput {
    /** The name prefix that you want to use to search for and list connectors. */
    connectorNamePrefix?: string;
    /** The maximum number of connectors to list in one response. */
    maxResults?: number;
    /** If the response of a ListConnectors operation is truncated, it will include a NextToken. Send this NextToken in a subsequent request to continue listing from where the previous operation left off. */
    nextToken?: string;
}
export interface ListCustomPluginsInput {
    /** The maximum number of custom plugins to list in one response. */
    maxResults?: number;
    /** Lists custom plugin names that start with the specified text string. */
    namePrefix?: string;
    /** If the response of a ListCustomPlugins operation is truncated, it will include a NextToken. Send this NextToken in a subsequent request to continue listing from where the previous operation left off. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which you want to list all attached tags. */
    resourceArn: string;
}
export interface ListWorkerConfigurationsInput {
    /** The maximum number of worker configurations to list in one response. */
    maxResults?: number;
    /** Lists worker configuration names that start with the specified text string. */
    namePrefix?: string;
    /** If the response of a ListWorkerConfigurations operation is truncated, it will include a NextToken. Send this NextToken in a subsequent request to continue listing from where the previous operation lef */
    nextToken?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to which you want to attach tags. */
    resourceArn: string;
    /** The tags that you want to attach to the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource from which you want to remove tags. */
    resourceArn: string;
    /** The keys of the tags that you want to remove from the resource. */
    tagKeys: string[];
}
export interface UpdateConnectorInput {
    /** The Amazon Resource Name (ARN) of the connector that you want to update. */
    connectorArn: string;
    /** The current version of the connector that you want to update. */
    currentVersion: string;
    /** The target capacity. */
    capacity?: CapacityUpdate;
    /** A map of keys to values that represent the configuration for the connector. */
    connectorConfiguration?: Record<string, string>;
}
/** KafkaConnect service binding for Step Functions SDK integrations. */
export declare class KafkaConnect {
    constructor();
    createConnector<T>(params: CreateConnectorInput): Promise<T>;
    createCustomPlugin<T>(params: CreateCustomPluginInput): Promise<T>;
    createWorkerConfiguration<T>(params: CreateWorkerConfigurationInput): Promise<T>;
    deleteConnector<T>(params: DeleteConnectorInput): Promise<T>;
    deleteCustomPlugin<T>(params: DeleteCustomPluginInput): Promise<T>;
    deleteWorkerConfiguration<T>(params: DeleteWorkerConfigurationInput): Promise<T>;
    describeConnector<T>(params: DescribeConnectorInput): Promise<T>;
    describeConnectorOperation<T>(params: DescribeConnectorOperationInput): Promise<T>;
    describeCustomPlugin<T>(params: DescribeCustomPluginInput): Promise<T>;
    describeWorkerConfiguration<T>(params: DescribeWorkerConfigurationInput): Promise<T>;
    listConnectorOperations<T>(params: ListConnectorOperationsInput): Promise<T>;
    listConnectors<T>(params: ListConnectorsInput): Promise<T>;
    listCustomPlugins<T>(params: ListCustomPluginsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listWorkerConfigurations<T>(params: ListWorkerConfigurationsInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateConnector<T>(params: UpdateConnectorInput): Promise<T>;
}
//# sourceMappingURL=KafkaConnect.d.ts.map