import * as core from "@terrascript/core";
export interface KafkaSettingsArgs extends core.SchemaArgs {
    broker: string | core.StringOut;
    includeControlDetails?: boolean | core.BooleanOut;
    includeNullAndEmpty?: boolean | core.BooleanOut;
    includePartitionValue?: boolean | core.BooleanOut;
    includeTableAlterOperations?: boolean | core.BooleanOut;
    includeTransactionDetails?: boolean | core.BooleanOut;
    messageFormat?: string | core.StringOut;
    messageMaxBytes?: number | core.NumberOut;
    noHexPrefix?: boolean | core.BooleanOut;
    partitionIncludeSchemaTable?: boolean | core.BooleanOut;
    saslPassword?: string | core.StringOut;
    saslUsername?: string | core.StringOut;
    securityProtocol?: string | core.StringOut;
    sslCaCertificateArn?: string | core.StringOut;
    sslClientCertificateArn?: string | core.StringOut;
    sslClientKeyArn?: string | core.StringOut;
    sslClientKeyPassword?: string | core.StringOut;
    topic?: string | core.StringOut;
}
export declare class KafkaSettings extends core.Schema<KafkaSettingsArgs> {
    broker: string | core.StringOut;
    includeControlDetails?: boolean | core.BooleanOut;
    includeNullAndEmpty?: boolean | core.BooleanOut;
    includePartitionValue?: boolean | core.BooleanOut;
    includeTableAlterOperations?: boolean | core.BooleanOut;
    includeTransactionDetails?: boolean | core.BooleanOut;
    messageFormat?: string | core.StringOut;
    messageMaxBytes?: number | core.NumberOut;
    noHexPrefix?: boolean | core.BooleanOut;
    partitionIncludeSchemaTable?: boolean | core.BooleanOut;
    saslPassword?: string | core.StringOut;
    saslUsername?: string | core.StringOut;
    securityProtocol?: string | core.StringOut;
    sslCaCertificateArn?: string | core.StringOut;
    sslClientCertificateArn?: string | core.StringOut;
    sslClientKeyArn?: string | core.StringOut;
    sslClientKeyPassword?: string | core.StringOut;
    topic?: string | core.StringOut;
}
export interface RedshiftSettingsArgs extends core.SchemaArgs {
    bucketFolder?: string | core.StringOut;
    bucketName?: string | core.StringOut;
    encryptionMode?: string | core.StringOut;
    serverSideEncryptionKmsKeyId?: string | core.StringOut;
    serviceAccessRoleArn?: string | core.StringOut;
}
export declare class RedshiftSettings extends core.Schema<RedshiftSettingsArgs> {
    bucketFolder?: string | core.StringOut;
    bucketName?: string | core.StringOut;
    encryptionMode?: string | core.StringOut;
    serverSideEncryptionKmsKeyId?: string | core.StringOut;
    serviceAccessRoleArn?: string | core.StringOut;
}
export interface MongodbSettingsArgs extends core.SchemaArgs {
    authMechanism?: string | core.StringOut;
    authSource?: string | core.StringOut;
    authType?: string | core.StringOut;
    docsToInvestigate?: string | core.StringOut;
    extractDocId?: string | core.StringOut;
    nestingLevel?: string | core.StringOut;
}
export declare class MongodbSettings extends core.Schema<MongodbSettingsArgs> {
    authMechanism?: string | core.StringOut;
    authSource?: string | core.StringOut;
    authType?: string | core.StringOut;
    docsToInvestigate?: string | core.StringOut;
    extractDocId?: string | core.StringOut;
    nestingLevel?: string | core.StringOut;
}
export interface KinesisSettingsArgs extends core.SchemaArgs {
    includeControlDetails?: boolean | core.BooleanOut;
    includeNullAndEmpty?: boolean | core.BooleanOut;
    includePartitionValue?: boolean | core.BooleanOut;
    includeTableAlterOperations?: boolean | core.BooleanOut;
    includeTransactionDetails?: boolean | core.BooleanOut;
    messageFormat?: string | core.StringOut;
    partitionIncludeSchemaTable?: boolean | core.BooleanOut;
    serviceAccessRoleArn?: string | core.StringOut;
    streamArn?: string | core.StringOut;
}
export declare class KinesisSettings extends core.Schema<KinesisSettingsArgs> {
    includeControlDetails?: boolean | core.BooleanOut;
    includeNullAndEmpty?: boolean | core.BooleanOut;
    includePartitionValue?: boolean | core.BooleanOut;
    includeTableAlterOperations?: boolean | core.BooleanOut;
    includeTransactionDetails?: boolean | core.BooleanOut;
    messageFormat?: string | core.StringOut;
    partitionIncludeSchemaTable?: boolean | core.BooleanOut;
    serviceAccessRoleArn?: string | core.StringOut;
    streamArn?: string | core.StringOut;
}
export interface ElasticsearchSettingsArgs extends core.SchemaArgs {
    endpointUri: string | core.StringOut;
    errorRetryDuration?: number | core.NumberOut;
    fullLoadErrorPercentage?: number | core.NumberOut;
    serviceAccessRoleArn: string | core.StringOut;
}
export declare class ElasticsearchSettings extends core.Schema<ElasticsearchSettingsArgs> {
    endpointUri: string | core.StringOut;
    errorRetryDuration?: number | core.NumberOut;
    fullLoadErrorPercentage?: number | core.NumberOut;
    serviceAccessRoleArn: string | core.StringOut;
}
export interface S3SettingsArgs extends core.SchemaArgs {
    addColumnName?: boolean | core.BooleanOut;
    bucketFolder?: string | core.StringOut;
    bucketName?: string | core.StringOut;
    cannedAclForObjects?: string | core.StringOut;
    cdcInsertsAndUpdates?: boolean | core.BooleanOut;
    cdcInsertsOnly?: boolean | core.BooleanOut;
    cdcMaxBatchInterval?: number | core.NumberOut;
    cdcMinFileSize?: number | core.NumberOut;
    cdcPath?: string | core.StringOut;
    compressionType?: string | core.StringOut;
    csvDelimiter?: string | core.StringOut;
    csvNoSupValue?: string | core.StringOut;
    csvNullValue?: string | core.StringOut;
    csvRowDelimiter?: string | core.StringOut;
    dataFormat?: string | core.StringOut;
    dataPageSize?: number | core.NumberOut;
    datePartitionDelimiter?: string | core.StringOut;
    datePartitionEnabled?: boolean | core.BooleanOut;
    datePartitionSequence?: string | core.StringOut;
    dictPageSizeLimit?: number | core.NumberOut;
    enableStatistics?: boolean | core.BooleanOut;
    encodingType?: string | core.StringOut;
    encryptionMode?: string | core.StringOut;
    externalTableDefinition?: string | core.StringOut;
    ignoreHeadersRow?: number | core.NumberOut;
    includeOpForFullLoad?: boolean | core.BooleanOut;
    maxFileSize?: number | core.NumberOut;
    parquetTimestampInMillisecond?: boolean | core.BooleanOut;
    parquetVersion?: string | core.StringOut;
    preserveTransactions?: boolean | core.BooleanOut;
    rfc4180?: boolean | core.BooleanOut;
    rowGroupLength?: number | core.NumberOut;
    serverSideEncryptionKmsKeyId?: string | core.StringOut;
    serviceAccessRoleArn?: string | core.StringOut;
    timestampColumnName?: string | core.StringOut;
    useCsvNoSupValue?: boolean | core.BooleanOut;
}
export declare class S3Settings extends core.Schema<S3SettingsArgs> {
    addColumnName?: boolean | core.BooleanOut;
    bucketFolder?: string | core.StringOut;
    bucketName?: string | core.StringOut;
    cannedAclForObjects?: string | core.StringOut;
    cdcInsertsAndUpdates?: boolean | core.BooleanOut;
    cdcInsertsOnly?: boolean | core.BooleanOut;
    cdcMaxBatchInterval?: number | core.NumberOut;
    cdcMinFileSize?: number | core.NumberOut;
    cdcPath?: string | core.StringOut;
    compressionType?: string | core.StringOut;
    csvDelimiter?: string | core.StringOut;
    csvNoSupValue?: string | core.StringOut;
    csvNullValue?: string | core.StringOut;
    csvRowDelimiter?: string | core.StringOut;
    dataFormat?: string | core.StringOut;
    dataPageSize?: number | core.NumberOut;
    datePartitionDelimiter?: string | core.StringOut;
    datePartitionEnabled?: boolean | core.BooleanOut;
    datePartitionSequence?: string | core.StringOut;
    dictPageSizeLimit?: number | core.NumberOut;
    enableStatistics?: boolean | core.BooleanOut;
    encodingType?: string | core.StringOut;
    encryptionMode?: string | core.StringOut;
    externalTableDefinition?: string | core.StringOut;
    ignoreHeadersRow?: number | core.NumberOut;
    includeOpForFullLoad?: boolean | core.BooleanOut;
    maxFileSize?: number | core.NumberOut;
    parquetTimestampInMillisecond?: boolean | core.BooleanOut;
    parquetVersion?: string | core.StringOut;
    preserveTransactions?: boolean | core.BooleanOut;
    rfc4180?: boolean | core.BooleanOut;
    rowGroupLength?: number | core.NumberOut;
    serverSideEncryptionKmsKeyId?: string | core.StringOut;
    serviceAccessRoleArn?: string | core.StringOut;
    timestampColumnName?: string | core.StringOut;
    useCsvNoSupValue?: boolean | core.BooleanOut;
}
export interface EndpointArgs extends core.ResourceArgs {
    certificateArn?: string | core.StringOut;
    databaseName?: string | core.StringOut;
    elasticsearchSettings?: ElasticsearchSettings;
    endpointId: string | core.StringOut;
    endpointType: string | core.StringOut;
    engineName: string | core.StringOut;
    extraConnectionAttributes?: string | core.StringOut;
    kafkaSettings?: KafkaSettings;
    kinesisSettings?: KinesisSettings;
    kmsKeyArn?: string | core.StringOut;
    mongodbSettings?: MongodbSettings;
    password?: string | core.StringOut;
    port?: number | core.NumberOut;
    redshiftSettings?: RedshiftSettings;
    s3Settings?: S3Settings;
    secretsManagerAccessRoleArn?: string | core.StringOut;
    secretsManagerArn?: string | core.StringOut;
    serverName?: string | core.StringOut;
    serviceAccessRole?: string | core.StringOut;
    sslMode?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    username?: string | core.StringOut;
}
export declare class Endpoint extends core.Resource<EndpointArgs> {
    certificateArn?: string | core.StringOut;
    databaseName?: string | core.StringOut;
    elasticsearchSettings?: ElasticsearchSettings;
    endpointArn: string | core.StringOut;
    endpointId: string | core.StringOut;
    endpointType: string | core.StringOut;
    engineName: string | core.StringOut;
    extraConnectionAttributes?: string | core.StringOut;
    id: string | core.StringOut;
    kafkaSettings?: KafkaSettings;
    kinesisSettings?: KinesisSettings;
    kmsKeyArn?: string | core.StringOut;
    mongodbSettings?: MongodbSettings;
    password?: string | core.StringOut;
    port?: number | core.NumberOut;
    redshiftSettings?: RedshiftSettings;
    s3Settings?: S3Settings;
    secretsManagerAccessRoleArn?: string | core.StringOut;
    secretsManagerArn?: string | core.StringOut;
    serverName?: string | core.StringOut;
    serviceAccessRole?: string | core.StringOut;
    sslMode?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    username?: string | core.StringOut;
    constructor(name: string, args?: EndpointArgs);
    getNamespace(): string;
}
//# sourceMappingURL=endpoint.d.ts.map