import type { Construct } from 'constructs';
import type { DataProcessorBindOptions, DataProcessorConfig, DataProcessorProps, IDataProcessor } from '../processor';
/**
 * Props for MetadataExtractionProcessor
 */
export interface MetadataExtractionProcessorOptions {
    /**
     * Map parameter to JQ query
     */
    readonly metadataExtractionQuery: string;
    /**
     * JSON parsing engine
     */
    readonly jsonParsingEngine: JsonParsingEngine;
}
/**
 * The JSON parsing engine for MetadataExtractionProcessor
 */
export declare class JsonParsingEngine {
    readonly parsingEngine: string;
    /**
     * The JQ 1.6 parsing engine
     */
    static readonly JQ_1_6: JsonParsingEngine;
    /**
     * A custom parsing engine
     */
    static of(parsingEngine: string): JsonParsingEngine;
    /**
     * @param parsingEngine The parsing engine string
     */
    private constructor();
}
/**
 * The data processor for dynamic partitioning with inline parsing.
 *
 * @see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning-partitioning-keys.html
 */
export declare class MetadataExtractionProcessor implements IDataProcessor {
    private readonly options;
    private readonly keys;
    /**
     * Creates the inline parsing configuration with JQ 1.6 engine.
     *
     * @param query A map of partition key to jq expression.
     */
    static jq16(query: Record<string, string>): MetadataExtractionProcessor;
    readonly props: DataProcessorProps;
    constructor(options: MetadataExtractionProcessorOptions, keys: string[]);
    bind(scope: Construct, options: DataProcessorBindOptions): DataProcessorConfig;
}
