import { Expression } from '../../expressions';
import { CustomDruidTransforms } from './druidTypes';
export interface DruidExtractionFnBuilderOptions {
    customTransforms: CustomDruidTransforms;
}
export declare class DruidExtractionFnBuilder {
    static CASE_TO_DRUID: Record<string, string>;
    static TIME_PART_TO_FORMAT: Record<string, string>;
    static composeFns(f: Druid.ExtractionFn | null, g: Druid.ExtractionFn | null): Druid.ExtractionFn | null;
    static getLastFn(fn: Druid.ExtractionFn): Druid.ExtractionFn;
    customTransforms: CustomDruidTransforms;
    constructor(options: DruidExtractionFnBuilderOptions);
    expressionToExtractionFn(expression: Expression): Druid.ExtractionFn | null;
    private literalToExtractionFn;
    private refToExtractionFn;
    private concatToExtractionFn;
    private timeFloorToExtractionFn;
    private timePartToExtractionFn;
    private numberBucketToExtractionFn;
    private substrToExtractionFn;
    private transformCaseToExtractionFn;
    private lengthToExtractionFn;
    private extractToExtractionFn;
    private lookupToExtractionFn;
    private fallbackToExtractionFn;
    private customTransformToExtractionFn;
    private castToExtractionFn;
    private overlapToExtractionFn;
}
//# sourceMappingURL=druidExtractionFnBuilder.d.ts.map