import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class ExtendedS3DestinationConfiguration {
    ProcessingConfiguration?: ProcessingConfiguration;
    S3BackupMode?: Value<string>;
    RoleARN: Value<string>;
    BufferingHints: BufferingHints;
    Prefix?: Value<string>;
    EncryptionConfiguration?: EncryptionConfiguration;
    BucketARN: Value<string>;
    S3BackupConfiguration?: S3DestinationConfiguration;
    CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
    ErrorOutputPrefix?: Value<string>;
    CompressionFormat: Value<string>;
    DataFormatConversionConfiguration?: DataFormatConversionConfiguration;
    constructor(properties: ExtendedS3DestinationConfiguration);
}
export declare class OrcSerDe {
    FormatVersion?: Value<string>;
    BloomFilterColumns?: List<Value<string>>;
    DictionaryKeyThreshold?: Value<number>;
    Compression?: Value<string>;
    EnablePadding?: Value<boolean>;
    RowIndexStride?: Value<number>;
    BloomFilterFalsePositiveProbability?: Value<number>;
    PaddingTolerance?: Value<number>;
    BlockSizeBytes?: Value<number>;
    StripeSizeBytes?: Value<number>;
    constructor(properties: OrcSerDe);
}
export declare class ProcessingConfiguration {
    Enabled?: Value<boolean>;
    Processors?: List<Processor>;
    constructor(properties: ProcessingConfiguration);
}
export declare class ElasticsearchDestinationConfiguration {
    ProcessingConfiguration?: ProcessingConfiguration;
    S3BackupMode: Value<string>;
    TypeName: Value<string>;
    RoleARN: Value<string>;
    BufferingHints: ElasticsearchBufferingHints;
    IndexRotationPeriod: Value<string>;
    S3Configuration: S3DestinationConfiguration;
    RetryOptions: ElasticsearchRetryOptions;
    CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
    DomainARN: Value<string>;
    IndexName: Value<string>;
    constructor(properties: ElasticsearchDestinationConfiguration);
}
export declare class ElasticsearchBufferingHints {
    IntervalInSeconds: Value<number>;
    SizeInMBs: Value<number>;
    constructor(properties: ElasticsearchBufferingHints);
}
export declare class S3DestinationConfiguration {
    BucketARN: Value<string>;
    BufferingHints: BufferingHints;
    CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
    CompressionFormat: Value<string>;
    EncryptionConfiguration?: EncryptionConfiguration;
    ErrorOutputPrefix?: Value<string>;
    Prefix?: Value<string>;
    RoleARN: Value<string>;
    constructor(properties: S3DestinationConfiguration);
}
export declare class HiveJsonSerDe {
    TimestampFormats?: List<Value<string>>;
    constructor(properties: HiveJsonSerDe);
}
export declare class BufferingHints {
    IntervalInSeconds: Value<number>;
    SizeInMBs: Value<number>;
    constructor(properties: BufferingHints);
}
export declare class SplunkDestinationConfiguration {
    ProcessingConfiguration?: ProcessingConfiguration;
    S3BackupMode?: Value<string>;
    HECAcknowledgmentTimeoutInSeconds?: Value<number>;
    HECToken: Value<string>;
    HECEndpointType: Value<string>;
    S3Configuration: S3DestinationConfiguration;
    RetryOptions?: SplunkRetryOptions;
    CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
    HECEndpoint: Value<string>;
    constructor(properties: SplunkDestinationConfiguration);
}
export declare class OpenXJsonSerDe {
    CaseInsensitive?: Value<boolean>;
    ColumnToJsonKeyMappings?: MapOf<Value<string>>;
    ConvertDotsInJsonKeysToUnderscores?: Value<boolean>;
    constructor(properties: OpenXJsonSerDe);
}
export declare class ParquetSerDe {
    BlockSizeBytes?: Value<number>;
    Compression?: Value<string>;
    EnableDictionaryCompression?: Value<boolean>;
    MaxPaddingBytes?: Value<number>;
    PageSizeBytes?: Value<number>;
    WriterVersion?: Value<string>;
    constructor(properties: ParquetSerDe);
}
export declare class Serializer {
    OrcSerDe?: OrcSerDe;
    ParquetSerDe?: ParquetSerDe;
    constructor(properties: Serializer);
}
export declare class Processor {
    Parameters: List<ProcessorParameter>;
    Type: Value<string>;
    constructor(properties: Processor);
}
export declare class KinesisStreamSourceConfiguration {
    KinesisStreamARN: Value<string>;
    RoleARN: Value<string>;
    constructor(properties: KinesisStreamSourceConfiguration);
}
export declare class Deserializer {
    HiveJsonSerDe?: HiveJsonSerDe;
    OpenXJsonSerDe?: OpenXJsonSerDe;
    constructor(properties: Deserializer);
}
export declare class EncryptionConfiguration {
    KMSEncryptionConfig?: KMSEncryptionConfig;
    NoEncryptionConfig?: Value<string>;
    constructor(properties: EncryptionConfiguration);
}
export declare class ElasticsearchRetryOptions {
    DurationInSeconds: Value<number>;
    constructor(properties: ElasticsearchRetryOptions);
}
export declare class SchemaConfiguration {
    CatalogId: Value<string>;
    DatabaseName: Value<string>;
    Region: Value<string>;
    RoleARN: Value<string>;
    TableName: Value<string>;
    VersionId: Value<string>;
    constructor(properties: SchemaConfiguration);
}
export declare class InputFormatConfiguration {
    Deserializer: Deserializer;
    constructor(properties: InputFormatConfiguration);
}
export declare class KMSEncryptionConfig {
    AWSKMSKeyARN: Value<string>;
    constructor(properties: KMSEncryptionConfig);
}
export declare class CopyCommand {
    CopyOptions?: Value<string>;
    DataTableColumns?: Value<string>;
    DataTableName: Value<string>;
    constructor(properties: CopyCommand);
}
export declare class ProcessorParameter {
    ParameterName: Value<string>;
    ParameterValue: Value<string>;
    constructor(properties: ProcessorParameter);
}
export declare class CloudWatchLoggingOptions {
    Enabled?: Value<boolean>;
    LogGroupName?: Value<string>;
    LogStreamName?: Value<string>;
    constructor(properties: CloudWatchLoggingOptions);
}
export declare class RedshiftDestinationConfiguration {
    CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
    ClusterJDBCURL: Value<string>;
    CopyCommand: CopyCommand;
    Password: Value<string>;
    ProcessingConfiguration?: ProcessingConfiguration;
    RoleARN: Value<string>;
    S3Configuration: S3DestinationConfiguration;
    Username: Value<string>;
    constructor(properties: RedshiftDestinationConfiguration);
}
export declare class SplunkRetryOptions {
    DurationInSeconds: Value<number>;
    constructor(properties: SplunkRetryOptions);
}
export declare class OutputFormatConfiguration {
    Serializer: Serializer;
    constructor(properties: OutputFormatConfiguration);
}
export declare class DataFormatConversionConfiguration {
    Enabled: Value<boolean>;
    InputFormatConfiguration: InputFormatConfiguration;
    OutputFormatConfiguration: OutputFormatConfiguration;
    SchemaConfiguration: SchemaConfiguration;
    constructor(properties: DataFormatConversionConfiguration);
}
export interface DeliveryStreamProperties {
    DeliveryStreamName?: Value<string>;
    DeliveryStreamType?: Value<string>;
    ElasticsearchDestinationConfiguration?: ElasticsearchDestinationConfiguration;
    ExtendedS3DestinationConfiguration?: ExtendedS3DestinationConfiguration;
    KinesisStreamSourceConfiguration?: KinesisStreamSourceConfiguration;
    RedshiftDestinationConfiguration?: RedshiftDestinationConfiguration;
    S3DestinationConfiguration?: S3DestinationConfiguration;
    SplunkDestinationConfiguration?: SplunkDestinationConfiguration;
}
export default class Inner_DeliveryStream extends ResourceBase<DeliveryStreamProperties> {
    static ExtendedS3DestinationConfiguration: typeof ExtendedS3DestinationConfiguration;
    static OrcSerDe: typeof OrcSerDe;
    static ProcessingConfiguration: typeof ProcessingConfiguration;
    static ElasticsearchDestinationConfiguration: typeof ElasticsearchDestinationConfiguration;
    static ElasticsearchBufferingHints: typeof ElasticsearchBufferingHints;
    static S3DestinationConfiguration: typeof S3DestinationConfiguration;
    static HiveJsonSerDe: typeof HiveJsonSerDe;
    static BufferingHints: typeof BufferingHints;
    static SplunkDestinationConfiguration: typeof SplunkDestinationConfiguration;
    static OpenXJsonSerDe: typeof OpenXJsonSerDe;
    static ParquetSerDe: typeof ParquetSerDe;
    static Serializer: typeof Serializer;
    static Processor: typeof Processor;
    static KinesisStreamSourceConfiguration: typeof KinesisStreamSourceConfiguration;
    static Deserializer: typeof Deserializer;
    static EncryptionConfiguration: typeof EncryptionConfiguration;
    static ElasticsearchRetryOptions: typeof ElasticsearchRetryOptions;
    static SchemaConfiguration: typeof SchemaConfiguration;
    static InputFormatConfiguration: typeof InputFormatConfiguration;
    static KMSEncryptionConfig: typeof KMSEncryptionConfig;
    static CopyCommand: typeof CopyCommand;
    static ProcessorParameter: typeof ProcessorParameter;
    static CloudWatchLoggingOptions: typeof CloudWatchLoggingOptions;
    static RedshiftDestinationConfiguration: typeof RedshiftDestinationConfiguration;
    static SplunkRetryOptions: typeof SplunkRetryOptions;
    static OutputFormatConfiguration: typeof OutputFormatConfiguration;
    static DataFormatConversionConfiguration: typeof DataFormatConversionConfiguration;
    constructor(properties: DeliveryStreamProperties);
}
