import * as core from "@terrascript/core";
export interface VpcArgs extends core.SchemaArgs {
    securityGroups: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Vpc extends core.Schema<VpcArgs> {
    securityGroups: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnets: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface ApacheKafkaClusterArgs extends core.SchemaArgs {
    bootstrapServers: string | core.StringOut;
    vpc: Vpc;
}
export declare class ApacheKafkaCluster extends core.Schema<ApacheKafkaClusterArgs> {
    bootstrapServers: string | core.StringOut;
    vpc: Vpc;
}
export interface KafkaClusterArgs extends core.SchemaArgs {
    apacheKafkaCluster: ApacheKafkaCluster;
}
export declare class KafkaCluster extends core.Schema<KafkaClusterArgs> {
    apacheKafkaCluster: ApacheKafkaCluster;
}
export interface KafkaClusterClientAuthenticationArgs extends core.SchemaArgs {
    authenticationType?: string | core.StringOut;
}
export declare class KafkaClusterClientAuthentication extends core.Schema<KafkaClusterClientAuthenticationArgs> {
    authenticationType?: string | core.StringOut;
}
export interface ScaleOutPolicyArgs extends core.SchemaArgs {
    cpuUtilizationPercentage?: number | core.NumberOut;
}
export declare class ScaleOutPolicy extends core.Schema<ScaleOutPolicyArgs> {
    cpuUtilizationPercentage?: number | core.NumberOut;
}
export interface ScaleInPolicyArgs extends core.SchemaArgs {
    cpuUtilizationPercentage?: number | core.NumberOut;
}
export declare class ScaleInPolicy extends core.Schema<ScaleInPolicyArgs> {
    cpuUtilizationPercentage?: number | core.NumberOut;
}
export interface AutoscalingArgs extends core.SchemaArgs {
    maxWorkerCount: number | core.NumberOut;
    mcuCount?: number | core.NumberOut;
    minWorkerCount: number | core.NumberOut;
    scaleInPolicy?: ScaleInPolicy;
    scaleOutPolicy?: ScaleOutPolicy;
}
export declare class Autoscaling extends core.Schema<AutoscalingArgs> {
    maxWorkerCount: number | core.NumberOut;
    mcuCount?: number | core.NumberOut;
    minWorkerCount: number | core.NumberOut;
    scaleInPolicy?: ScaleInPolicy;
    scaleOutPolicy?: ScaleOutPolicy;
}
export interface ProvisionedCapacityArgs extends core.SchemaArgs {
    mcuCount?: number | core.NumberOut;
    workerCount: number | core.NumberOut;
}
export declare class ProvisionedCapacity extends core.Schema<ProvisionedCapacityArgs> {
    mcuCount?: number | core.NumberOut;
    workerCount: number | core.NumberOut;
}
export interface CapacityArgs extends core.SchemaArgs {
    autoscaling?: Autoscaling;
    provisionedCapacity?: ProvisionedCapacity;
}
export declare class Capacity extends core.Schema<CapacityArgs> {
    autoscaling?: Autoscaling;
    provisionedCapacity?: ProvisionedCapacity;
}
export interface KafkaClusterEncryptionInTransitArgs extends core.SchemaArgs {
    encryptionType?: string | core.StringOut;
}
export declare class KafkaClusterEncryptionInTransit extends core.Schema<KafkaClusterEncryptionInTransitArgs> {
    encryptionType?: string | core.StringOut;
}
export interface WorkerConfigurationArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    revision: number | core.NumberOut;
}
export declare class WorkerConfiguration extends core.Schema<WorkerConfigurationArgs> {
    arn: string | core.StringOut;
    revision: number | core.NumberOut;
}
export interface CustomPluginArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    revision: number | core.NumberOut;
}
export declare class CustomPlugin extends core.Schema<CustomPluginArgs> {
    arn: string | core.StringOut;
    revision: number | core.NumberOut;
}
export interface PluginArgs extends core.SchemaArgs {
    customPlugin: CustomPlugin;
}
export declare class Plugin extends core.Schema<PluginArgs> {
    customPlugin: CustomPlugin;
}
export interface CloudwatchLogsArgs extends core.SchemaArgs {
    enabled: boolean | core.BooleanOut;
    logGroup?: string | core.StringOut;
}
export declare class CloudwatchLogs extends core.Schema<CloudwatchLogsArgs> {
    enabled: boolean | core.BooleanOut;
    logGroup?: string | core.StringOut;
}
export interface FirehoseArgs extends core.SchemaArgs {
    deliveryStream?: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
}
export declare class Firehose extends core.Schema<FirehoseArgs> {
    deliveryStream?: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
}
export interface S3Args extends core.SchemaArgs {
    bucket?: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
    prefix?: string | core.StringOut;
}
export declare class S3 extends core.Schema<S3Args> {
    bucket?: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
    prefix?: string | core.StringOut;
}
export interface WorkerLogDeliveryArgs extends core.SchemaArgs {
    cloudwatchLogs?: CloudwatchLogs;
    firehose?: Firehose;
    s3?: S3;
}
export declare class WorkerLogDelivery extends core.Schema<WorkerLogDeliveryArgs> {
    cloudwatchLogs?: CloudwatchLogs;
    firehose?: Firehose;
    s3?: S3;
}
export interface LogDeliveryArgs extends core.SchemaArgs {
    workerLogDelivery: WorkerLogDelivery;
}
export declare class LogDelivery extends core.Schema<LogDeliveryArgs> {
    workerLogDelivery: WorkerLogDelivery;
}
export interface MskconnectConnectorArgs extends core.ResourceArgs {
    capacity: Capacity;
    connectorConfiguration: core.Map<string, string> | core.MapOut<core.StringOut>;
    description?: string | core.StringOut;
    kafkaCluster: KafkaCluster;
    kafkaClusterClientAuthentication: KafkaClusterClientAuthentication;
    kafkaClusterEncryptionInTransit: KafkaClusterEncryptionInTransit;
    kafkaconnectVersion: string | core.StringOut;
    logDelivery?: LogDelivery;
    name: string | core.StringOut;
    plugin: core.Array<Plugin> | core.ArrayOut<Plugin>;
    serviceExecutionRoleArn: string | core.StringOut;
    workerConfiguration?: WorkerConfiguration;
}
export declare class MskconnectConnector extends core.Resource<MskconnectConnectorArgs> {
    arn: string | core.StringOut;
    capacity: Capacity;
    connectorConfiguration: core.Map<string, string> | core.MapOut<core.StringOut>;
    description?: string | core.StringOut;
    id: string | core.StringOut;
    kafkaCluster: KafkaCluster;
    kafkaClusterClientAuthentication: KafkaClusterClientAuthentication;
    kafkaClusterEncryptionInTransit: KafkaClusterEncryptionInTransit;
    kafkaconnectVersion: string | core.StringOut;
    logDelivery?: LogDelivery;
    name: string | core.StringOut;
    plugin: core.Array<Plugin> | core.ArrayOut<Plugin>;
    serviceExecutionRoleArn: string | core.StringOut;
    version: string | core.StringOut;
    workerConfiguration?: WorkerConfiguration;
    constructor(name: string, args?: MskconnectConnectorArgs);
    getNamespace(): string;
}
//# sourceMappingURL=mskconnect_connector.d.ts.map