import * as core from "@terrascript/core";
export interface CommonAttributesArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    value: string | core.StringOut;
}
export declare class CommonAttributes extends core.Schema<CommonAttributesArgs> {
    name: string | core.StringOut;
    value: string | core.StringOut;
}
export interface RequestConfigurationArgs extends core.SchemaArgs {
    commonAttributes?: core.Array<CommonAttributes> | core.ArrayOut<CommonAttributes>;
    contentEncoding?: string | core.StringOut;
}
export declare class RequestConfiguration extends core.Schema<RequestConfigurationArgs> {
    commonAttributes?: core.Array<CommonAttributes> | core.ArrayOut<CommonAttributes>;
    contentEncoding?: string | core.StringOut;
}
export interface CloudwatchLoggingOptionsArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    logGroupName?: string | core.StringOut;
    logStreamName?: string | core.StringOut;
}
export declare class CloudwatchLoggingOptions extends core.Schema<CloudwatchLoggingOptionsArgs> {
    enabled?: boolean | core.BooleanOut;
    logGroupName?: string | core.StringOut;
    logStreamName?: string | core.StringOut;
}
export interface ParametersArgs extends core.SchemaArgs {
    parameterName: string | core.StringOut;
    parameterValue: string | core.StringOut;
}
export declare class Parameters extends core.Schema<ParametersArgs> {
    parameterName: string | core.StringOut;
    parameterValue: string | core.StringOut;
}
export interface ProcessorsArgs extends core.SchemaArgs {
    parameters?: core.Array<Parameters> | core.ArrayOut<Parameters>;
    type: string | core.StringOut;
}
export declare class Processors extends core.Schema<ProcessorsArgs> {
    parameters?: core.Array<Parameters> | core.ArrayOut<Parameters>;
    type: string | core.StringOut;
}
export interface ProcessingConfigurationArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    processors?: core.Array<Processors> | core.ArrayOut<Processors>;
}
export declare class ProcessingConfiguration extends core.Schema<ProcessingConfigurationArgs> {
    enabled?: boolean | core.BooleanOut;
    processors?: core.Array<Processors> | core.ArrayOut<Processors>;
}
export interface HttpEndpointConfigurationArgs extends core.SchemaArgs {
    accessKey?: string | core.StringOut;
    bufferingInterval?: number | core.NumberOut;
    bufferingSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    name?: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    requestConfiguration?: RequestConfiguration;
    retryDuration?: number | core.NumberOut;
    roleArn?: string | core.StringOut;
    s3BackupMode?: string | core.StringOut;
    url: string | core.StringOut;
}
export declare class HttpEndpointConfiguration extends core.Schema<HttpEndpointConfigurationArgs> {
    accessKey?: string | core.StringOut;
    bufferingInterval?: number | core.NumberOut;
    bufferingSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    name?: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    requestConfiguration?: RequestConfiguration;
    retryDuration?: number | core.NumberOut;
    roleArn?: string | core.StringOut;
    s3BackupMode?: string | core.StringOut;
    url: string | core.StringOut;
}
export interface S3ConfigurationArgs extends core.SchemaArgs {
    bucketArn: string | core.StringOut;
    bufferInterval?: number | core.NumberOut;
    bufferSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    compressionFormat?: string | core.StringOut;
    errorOutputPrefix?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    prefix?: string | core.StringOut;
    roleArn: string | core.StringOut;
}
export declare class S3Configuration extends core.Schema<S3ConfigurationArgs> {
    bucketArn: string | core.StringOut;
    bufferInterval?: number | core.NumberOut;
    bufferSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    compressionFormat?: string | core.StringOut;
    errorOutputPrefix?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    prefix?: string | core.StringOut;
    roleArn: string | core.StringOut;
}
export interface ServerSideEncryptionArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    keyArn?: string | core.StringOut;
    keyType?: string | core.StringOut;
}
export declare class ServerSideEncryption extends core.Schema<ServerSideEncryptionArgs> {
    enabled?: boolean | core.BooleanOut;
    keyArn?: string | core.StringOut;
    keyType?: string | core.StringOut;
}
export interface S3BackupConfigurationArgs extends core.SchemaArgs {
    bucketArn: string | core.StringOut;
    bufferInterval?: number | core.NumberOut;
    bufferSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    compressionFormat?: string | core.StringOut;
    errorOutputPrefix?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    prefix?: string | core.StringOut;
    roleArn: string | core.StringOut;
}
export declare class S3BackupConfiguration extends core.Schema<S3BackupConfigurationArgs> {
    bucketArn: string | core.StringOut;
    bufferInterval?: number | core.NumberOut;
    bufferSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    compressionFormat?: string | core.StringOut;
    errorOutputPrefix?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    prefix?: string | core.StringOut;
    roleArn: string | core.StringOut;
}
export interface RedshiftConfigurationArgs extends core.SchemaArgs {
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    clusterJdbcurl: string | core.StringOut;
    copyOptions?: string | core.StringOut;
    dataTableColumns?: string | core.StringOut;
    dataTableName: string | core.StringOut;
    password: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    retryDuration?: number | core.NumberOut;
    roleArn: string | core.StringOut;
    s3BackupConfiguration?: S3BackupConfiguration;
    s3BackupMode?: string | core.StringOut;
    username: string | core.StringOut;
}
export declare class RedshiftConfiguration extends core.Schema<RedshiftConfigurationArgs> {
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    clusterJdbcurl: string | core.StringOut;
    copyOptions?: string | core.StringOut;
    dataTableColumns?: string | core.StringOut;
    dataTableName: string | core.StringOut;
    password: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    retryDuration?: number | core.NumberOut;
    roleArn: string | core.StringOut;
    s3BackupConfiguration?: S3BackupConfiguration;
    s3BackupMode?: string | core.StringOut;
    username: string | core.StringOut;
}
export interface HiveJsonSerDeArgs extends core.SchemaArgs {
    timestampFormats?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class HiveJsonSerDe extends core.Schema<HiveJsonSerDeArgs> {
    timestampFormats?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface OpenXJsonSerDeArgs extends core.SchemaArgs {
    caseInsensitive?: boolean | core.BooleanOut;
    columnToJsonKeyMappings?: core.Map<string, string> | core.MapOut<core.StringOut>;
    convertDotsInJsonKeysToUnderscores?: boolean | core.BooleanOut;
}
export declare class OpenXJsonSerDe extends core.Schema<OpenXJsonSerDeArgs> {
    caseInsensitive?: boolean | core.BooleanOut;
    columnToJsonKeyMappings?: core.Map<string, string> | core.MapOut<core.StringOut>;
    convertDotsInJsonKeysToUnderscores?: boolean | core.BooleanOut;
}
export interface DeserializerArgs extends core.SchemaArgs {
    hiveJsonSerDe?: HiveJsonSerDe;
    openXJsonSerDe?: OpenXJsonSerDe;
}
export declare class Deserializer extends core.Schema<DeserializerArgs> {
    hiveJsonSerDe?: HiveJsonSerDe;
    openXJsonSerDe?: OpenXJsonSerDe;
}
export interface InputFormatConfigurationArgs extends core.SchemaArgs {
    deserializer: Deserializer;
}
export declare class InputFormatConfiguration extends core.Schema<InputFormatConfigurationArgs> {
    deserializer: Deserializer;
}
export interface ParquetSerDeArgs extends core.SchemaArgs {
    blockSizeBytes?: number | core.NumberOut;
    compression?: string | core.StringOut;
    enableDictionaryCompression?: boolean | core.BooleanOut;
    maxPaddingBytes?: number | core.NumberOut;
    pageSizeBytes?: number | core.NumberOut;
    writerVersion?: string | core.StringOut;
}
export declare class ParquetSerDe extends core.Schema<ParquetSerDeArgs> {
    blockSizeBytes?: number | core.NumberOut;
    compression?: string | core.StringOut;
    enableDictionaryCompression?: boolean | core.BooleanOut;
    maxPaddingBytes?: number | core.NumberOut;
    pageSizeBytes?: number | core.NumberOut;
    writerVersion?: string | core.StringOut;
}
export interface OrcSerDeArgs extends core.SchemaArgs {
    blockSizeBytes?: number | core.NumberOut;
    bloomFilterColumns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    bloomFilterFalsePositiveProbability?: number | core.NumberOut;
    compression?: string | core.StringOut;
    dictionaryKeyThreshold?: number | core.NumberOut;
    enablePadding?: boolean | core.BooleanOut;
    formatVersion?: string | core.StringOut;
    paddingTolerance?: number | core.NumberOut;
    rowIndexStride?: number | core.NumberOut;
    stripeSizeBytes?: number | core.NumberOut;
}
export declare class OrcSerDe extends core.Schema<OrcSerDeArgs> {
    blockSizeBytes?: number | core.NumberOut;
    bloomFilterColumns?: core.Array<string> | core.ArrayOut<core.StringOut>;
    bloomFilterFalsePositiveProbability?: number | core.NumberOut;
    compression?: string | core.StringOut;
    dictionaryKeyThreshold?: number | core.NumberOut;
    enablePadding?: boolean | core.BooleanOut;
    formatVersion?: string | core.StringOut;
    paddingTolerance?: number | core.NumberOut;
    rowIndexStride?: number | core.NumberOut;
    stripeSizeBytes?: number | core.NumberOut;
}
export interface SerializerArgs extends core.SchemaArgs {
    orcSerDe?: OrcSerDe;
    parquetSerDe?: ParquetSerDe;
}
export declare class Serializer extends core.Schema<SerializerArgs> {
    orcSerDe?: OrcSerDe;
    parquetSerDe?: ParquetSerDe;
}
export interface OutputFormatConfigurationArgs extends core.SchemaArgs {
    serializer: Serializer;
}
export declare class OutputFormatConfiguration extends core.Schema<OutputFormatConfigurationArgs> {
    serializer: Serializer;
}
export interface SchemaConfigurationArgs extends core.SchemaArgs {
    catalogId?: string | core.StringOut;
    databaseName: string | core.StringOut;
    region?: string | core.StringOut;
    roleArn: string | core.StringOut;
    tableName: string | core.StringOut;
    versionId?: string | core.StringOut;
}
export declare class SchemaConfiguration extends core.Schema<SchemaConfigurationArgs> {
    catalogId?: string | core.StringOut;
    databaseName: string | core.StringOut;
    region?: string | core.StringOut;
    roleArn: string | core.StringOut;
    tableName: string | core.StringOut;
    versionId?: string | core.StringOut;
}
export interface DataFormatConversionConfigurationArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    inputFormatConfiguration: InputFormatConfiguration;
    outputFormatConfiguration: OutputFormatConfiguration;
    schemaConfiguration: SchemaConfiguration;
}
export declare class DataFormatConversionConfiguration extends core.Schema<DataFormatConversionConfigurationArgs> {
    enabled?: boolean | core.BooleanOut;
    inputFormatConfiguration: InputFormatConfiguration;
    outputFormatConfiguration: OutputFormatConfiguration;
    schemaConfiguration: SchemaConfiguration;
}
export interface DynamicPartitioningConfigurationArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    retryDuration?: number | core.NumberOut;
}
export declare class DynamicPartitioningConfiguration extends core.Schema<DynamicPartitioningConfigurationArgs> {
    enabled?: boolean | core.BooleanOut;
    retryDuration?: number | core.NumberOut;
}
export interface ExtendedS3ConfigurationArgs extends core.SchemaArgs {
    bucketArn: string | core.StringOut;
    bufferInterval?: number | core.NumberOut;
    bufferSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    compressionFormat?: string | core.StringOut;
    dataFormatConversionConfiguration?: DataFormatConversionConfiguration;
    dynamicPartitioningConfiguration?: DynamicPartitioningConfiguration;
    errorOutputPrefix?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    prefix?: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    roleArn: string | core.StringOut;
    s3BackupConfiguration?: S3BackupConfiguration;
    s3BackupMode?: string | core.StringOut;
}
export declare class ExtendedS3Configuration extends core.Schema<ExtendedS3ConfigurationArgs> {
    bucketArn: string | core.StringOut;
    bufferInterval?: number | core.NumberOut;
    bufferSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    compressionFormat?: string | core.StringOut;
    dataFormatConversionConfiguration?: DataFormatConversionConfiguration;
    dynamicPartitioningConfiguration?: DynamicPartitioningConfiguration;
    errorOutputPrefix?: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    prefix?: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    roleArn: string | core.StringOut;
    s3BackupConfiguration?: S3BackupConfiguration;
    s3BackupMode?: string | core.StringOut;
}
export interface VpcConfigArgs extends core.SchemaArgs {
    roleArn: string | core.StringOut;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class VpcConfig extends core.Schema<VpcConfigArgs> {
    roleArn: string | core.StringOut;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export interface ElasticsearchConfigurationArgs extends core.SchemaArgs {
    bufferingInterval?: number | core.NumberOut;
    bufferingSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    clusterEndpoint?: string | core.StringOut;
    domainArn?: string | core.StringOut;
    indexName: string | core.StringOut;
    indexRotationPeriod?: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    retryDuration?: number | core.NumberOut;
    roleArn: string | core.StringOut;
    s3BackupMode?: string | core.StringOut;
    typeName?: string | core.StringOut;
    vpcConfig?: VpcConfig;
}
export declare class ElasticsearchConfiguration extends core.Schema<ElasticsearchConfigurationArgs> {
    bufferingInterval?: number | core.NumberOut;
    bufferingSize?: number | core.NumberOut;
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    clusterEndpoint?: string | core.StringOut;
    domainArn?: string | core.StringOut;
    indexName: string | core.StringOut;
    indexRotationPeriod?: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    retryDuration?: number | core.NumberOut;
    roleArn: string | core.StringOut;
    s3BackupMode?: string | core.StringOut;
    typeName?: string | core.StringOut;
    vpcConfig?: VpcConfig;
}
export interface SplunkConfigurationArgs extends core.SchemaArgs {
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    hecAcknowledgmentTimeout?: number | core.NumberOut;
    hecEndpoint: string | core.StringOut;
    hecEndpointType?: string | core.StringOut;
    hecToken: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    retryDuration?: number | core.NumberOut;
    s3BackupMode?: string | core.StringOut;
}
export declare class SplunkConfiguration extends core.Schema<SplunkConfigurationArgs> {
    cloudwatchLoggingOptions?: CloudwatchLoggingOptions;
    hecAcknowledgmentTimeout?: number | core.NumberOut;
    hecEndpoint: string | core.StringOut;
    hecEndpointType?: string | core.StringOut;
    hecToken: string | core.StringOut;
    processingConfiguration?: ProcessingConfiguration;
    retryDuration?: number | core.NumberOut;
    s3BackupMode?: string | core.StringOut;
}
export interface KinesisSourceConfigurationArgs extends core.SchemaArgs {
    kinesisStreamArn: string | core.StringOut;
    roleArn: string | core.StringOut;
}
export declare class KinesisSourceConfiguration extends core.Schema<KinesisSourceConfigurationArgs> {
    kinesisStreamArn: string | core.StringOut;
    roleArn: string | core.StringOut;
}
export interface DeliveryStreamArgs extends core.ResourceArgs {
    arn?: string | core.StringOut;
    destination: string | core.StringOut;
    destinationId?: string | core.StringOut;
    elasticsearchConfiguration?: ElasticsearchConfiguration;
    extendedS3Configuration?: ExtendedS3Configuration;
    httpEndpointConfiguration?: HttpEndpointConfiguration;
    kinesisSourceConfiguration?: KinesisSourceConfiguration;
    name: string | core.StringOut;
    redshiftConfiguration?: RedshiftConfiguration;
    s3Configuration?: S3Configuration;
    serverSideEncryption?: ServerSideEncryption;
    splunkConfiguration?: SplunkConfiguration;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    versionId?: string | core.StringOut;
}
export declare class DeliveryStream extends core.Resource<DeliveryStreamArgs> {
    arn?: string | core.StringOut;
    destination: string | core.StringOut;
    destinationId?: string | core.StringOut;
    elasticsearchConfiguration?: ElasticsearchConfiguration;
    extendedS3Configuration?: ExtendedS3Configuration;
    httpEndpointConfiguration?: HttpEndpointConfiguration;
    id: string | core.StringOut;
    kinesisSourceConfiguration?: KinesisSourceConfiguration;
    name: string | core.StringOut;
    redshiftConfiguration?: RedshiftConfiguration;
    s3Configuration?: S3Configuration;
    serverSideEncryption?: ServerSideEncryption;
    splunkConfiguration?: SplunkConfiguration;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    versionId?: string | core.StringOut;
    constructor(name: string, args?: DeliveryStreamArgs);
    getNamespace(): string;
}
//# sourceMappingURL=delivery_stream.d.ts.map