import * as core from "@terrascript/core";
export interface NodeExporterArgs extends core.SchemaArgs {
    enabledInBroker: boolean | core.BooleanOut;
}
export declare class NodeExporter extends core.Schema<NodeExporterArgs> {
    enabledInBroker: boolean | core.BooleanOut;
}
export interface JmxExporterArgs extends core.SchemaArgs {
    enabledInBroker: boolean | core.BooleanOut;
}
export declare class JmxExporter extends core.Schema<JmxExporterArgs> {
    enabledInBroker: boolean | core.BooleanOut;
}
export interface PrometheusArgs extends core.SchemaArgs {
    jmxExporter?: JmxExporter;
    nodeExporter?: NodeExporter;
}
export declare class Prometheus extends core.Schema<PrometheusArgs> {
    jmxExporter?: JmxExporter;
    nodeExporter?: NodeExporter;
}
export interface OpenMonitoringArgs extends core.SchemaArgs {
    prometheus: Prometheus;
}
export declare class OpenMonitoring extends core.Schema<OpenMonitoringArgs> {
    prometheus: Prometheus;
}
export interface ConfigurationInfoArgs extends core.SchemaArgs {
    arn: string | core.StringOut;
    revision: number | core.NumberOut;
}
export declare class ConfigurationInfo extends core.Schema<ConfigurationInfoArgs> {
    arn: string | core.StringOut;
    revision: number | core.NumberOut;
}
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 BrokerLogsArgs extends core.SchemaArgs {
    cloudwatchLogs?: CloudwatchLogs;
    firehose?: Firehose;
    s3?: S3;
}
export declare class BrokerLogs extends core.Schema<BrokerLogsArgs> {
    cloudwatchLogs?: CloudwatchLogs;
    firehose?: Firehose;
    s3?: S3;
}
export interface LoggingInfoArgs extends core.SchemaArgs {
    brokerLogs: BrokerLogs;
}
export declare class LoggingInfo extends core.Schema<LoggingInfoArgs> {
    brokerLogs: BrokerLogs;
}
export interface SaslArgs extends core.SchemaArgs {
    iam?: boolean | core.BooleanOut;
    scram?: boolean | core.BooleanOut;
}
export declare class Sasl extends core.Schema<SaslArgs> {
    iam?: boolean | core.BooleanOut;
    scram?: boolean | core.BooleanOut;
}
export interface TlsArgs extends core.SchemaArgs {
    certificateAuthorityArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Tls extends core.Schema<TlsArgs> {
    certificateAuthorityArns?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface ClientAuthenticationArgs extends core.SchemaArgs {
    sasl?: Sasl;
    tls?: Tls;
    unauthenticated?: boolean | core.BooleanOut;
}
export declare class ClientAuthentication extends core.Schema<ClientAuthenticationArgs> {
    sasl?: Sasl;
    tls?: Tls;
    unauthenticated?: boolean | core.BooleanOut;
}
export interface ProvisionedThroughputArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    volumeThroughput?: number | core.NumberOut;
}
export declare class ProvisionedThroughput extends core.Schema<ProvisionedThroughputArgs> {
    enabled?: boolean | core.BooleanOut;
    volumeThroughput?: number | core.NumberOut;
}
export interface EbsStorageInfoArgs extends core.SchemaArgs {
    provisionedThroughput?: ProvisionedThroughput;
    volumeSize?: number | core.NumberOut;
}
export declare class EbsStorageInfo extends core.Schema<EbsStorageInfoArgs> {
    provisionedThroughput?: ProvisionedThroughput;
    volumeSize?: number | core.NumberOut;
}
export interface StorageInfoArgs extends core.SchemaArgs {
    ebsStorageInfo?: EbsStorageInfo;
}
export declare class StorageInfo extends core.Schema<StorageInfoArgs> {
    ebsStorageInfo?: EbsStorageInfo;
}
export interface PublicAccessArgs extends core.SchemaArgs {
    type?: string | core.StringOut;
}
export declare class PublicAccess extends core.Schema<PublicAccessArgs> {
    type?: string | core.StringOut;
}
export interface ConnectivityInfoArgs extends core.SchemaArgs {
    publicAccess?: PublicAccess;
}
export declare class ConnectivityInfo extends core.Schema<ConnectivityInfoArgs> {
    publicAccess?: PublicAccess;
}
export interface BrokerNodeGroupInfoArgs extends core.SchemaArgs {
    azDistribution?: string | core.StringOut;
    clientSubnets: core.Array<string> | core.ArrayOut<core.StringOut>;
    connectivityInfo?: ConnectivityInfo;
    ebsVolumeSize?: number | core.NumberOut;
    instanceType: string | core.StringOut;
    securityGroups: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageInfo?: StorageInfo;
}
export declare class BrokerNodeGroupInfo extends core.Schema<BrokerNodeGroupInfoArgs> {
    azDistribution?: string | core.StringOut;
    clientSubnets: core.Array<string> | core.ArrayOut<core.StringOut>;
    connectivityInfo?: ConnectivityInfo;
    ebsVolumeSize?: number | core.NumberOut;
    instanceType: string | core.StringOut;
    securityGroups: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageInfo?: StorageInfo;
}
export interface EncryptionInTransitArgs extends core.SchemaArgs {
    clientBroker?: string | core.StringOut;
    inCluster?: boolean | core.BooleanOut;
}
export declare class EncryptionInTransit extends core.Schema<EncryptionInTransitArgs> {
    clientBroker?: string | core.StringOut;
    inCluster?: boolean | core.BooleanOut;
}
export interface EncryptionInfoArgs extends core.SchemaArgs {
    encryptionAtRestKmsKeyArn?: string | core.StringOut;
    encryptionInTransit?: EncryptionInTransit;
}
export declare class EncryptionInfo extends core.Schema<EncryptionInfoArgs> {
    encryptionAtRestKmsKeyArn?: string | core.StringOut;
    encryptionInTransit?: EncryptionInTransit;
}
export interface MskClusterArgs extends core.ResourceArgs {
    brokerNodeGroupInfo: BrokerNodeGroupInfo;
    clientAuthentication?: ClientAuthentication;
    clusterName: string | core.StringOut;
    configurationInfo?: ConfigurationInfo;
    encryptionInfo?: EncryptionInfo;
    enhancedMonitoring?: string | core.StringOut;
    kafkaVersion: string | core.StringOut;
    loggingInfo?: LoggingInfo;
    numberOfBrokerNodes: number | core.NumberOut;
    openMonitoring?: OpenMonitoring;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class MskCluster extends core.Resource<MskClusterArgs> {
    arn: string | core.StringOut;
    bootstrapBrokers: string | core.StringOut;
    bootstrapBrokersPublicSaslIam: string | core.StringOut;
    bootstrapBrokersPublicSaslScram: string | core.StringOut;
    bootstrapBrokersPublicTls: string | core.StringOut;
    bootstrapBrokersSaslIam: string | core.StringOut;
    bootstrapBrokersSaslScram: string | core.StringOut;
    bootstrapBrokersTls: string | core.StringOut;
    brokerNodeGroupInfo: BrokerNodeGroupInfo;
    clientAuthentication?: ClientAuthentication;
    clusterName: string | core.StringOut;
    configurationInfo?: ConfigurationInfo;
    currentVersion: string | core.StringOut;
    encryptionInfo?: EncryptionInfo;
    enhancedMonitoring?: string | core.StringOut;
    id: string | core.StringOut;
    kafkaVersion: string | core.StringOut;
    loggingInfo?: LoggingInfo;
    numberOfBrokerNodes: number | core.NumberOut;
    openMonitoring?: OpenMonitoring;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    zookeeperConnectString: string | core.StringOut;
    zookeeperConnectStringTls: string | core.StringOut;
    constructor(name: string, args?: MskClusterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=msk_cluster.d.ts.map