import type { Construct } from 'constructs';
import type { DataProcessorBindOptions, DataProcessorConfig, DataProcessorProps, IDataProcessor } from '../processor';
/**
 * Props for RecordDeAggregationProcessor
 */
export interface RecordDeAggregationProcessorOptions {
    /**
     * The sub-record type to deaggregate input records.
     */
    readonly subRecordType: SubRecordType;
    /**
     * The custom delimiter when subRecordType is DELIMITED. Must be specified in the base64-encoded format.
     * @default - No delimiter
     */
    readonly delimiter?: string;
}
/**
 * The sub-record type to deaggregate input records.
 */
export declare enum SubRecordType {
    /** The records are JSON objects on a single line with no delimiter or newline-delimited (JSONL). */
    JSON = "JSON",
    /** The records are delimited by a custom delimiter. */
    DELIMITED = "DELIMITED"
}
/**
 * The data processor for multi record deaggrecation.
 *
 * Record deaggregation by JSON or by delimiter is capped at 500 per record.
 *
 * @see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning-multirecord-deaggergation.html
 */
export declare class RecordDeAggregationProcessor implements IDataProcessor {
    private readonly options;
    /**
     * Perform deaggregation from JSON objects on a single line with no delimiter or newline-delimited (JSONL).
     */
    static json(): RecordDeAggregationProcessor;
    /**
     * Perform deaggregation based on a specified custom delimiter.
     *
     * @param delimiter The custom delimiter.
     */
    static delimited(delimiter: string): RecordDeAggregationProcessor;
    readonly props: DataProcessorProps;
    constructor(options: RecordDeAggregationProcessorOptions);
    bind(scope: Construct, options: DataProcessorBindOptions): DataProcessorConfig;
}
