import { type LogicalId } from "../../aws/CloudFormation/LogicalId";
import type { NaturalNumberOrZero } from "../../common/CustomTypes/Numerics";
import { type NaturalNumber } from "../../common/CustomTypes/Numerics";
import { type ResourceBase } from "./Common";
export declare type DataFirehoseType = 'resource.data-firehose';
export interface DataFirehose extends ResourceBase {
    type: DataFirehoseType;
    bufferingHints?: BufferingHints;
    enableLogging?: boolean;
    createDirectPUTStream?: false;
    processors?: Processor[];
}
export interface BufferingHints {
    intervalInSeconds?: NaturalNumber;
    sizeInMBs?: NaturalNumber;
}
export interface Processor extends BufferingHints {
    lambda: LogicalId;
    delimiter?: string;
    metadataExtractionQuery?: string;
    numberOfRetries?: NaturalNumberOrZero;
    jsonParsingEngine?: string;
    subRecordType?: string;
}
export declare const isBufferingHints: import("@altostra/type-validations").ObjectOfTypeValidation<BufferingHints>;
export declare const isProcessor: import("@altostra/type-validations").ObjectOfTypeValidation<Processor>;
export declare const isDataFirehose: import("@altostra/type-validations").ObjectOfTypeValidation<DataFirehose>;
