import { Plugin } from "@webiny/plugins/Plugin";
import { CmsModelField } from "@webiny/api-headless-cms/types";
export interface CreatePathCallableParams<T = any> {
    field: CmsModelField;
    key: string;
    value: T;
}
export interface CreatePathCallable<T = any> {
    (params: CreatePathCallableParams<T>): string;
}
export interface TransformCallableParams<T = any> {
    field: CmsModelField;
    value: T;
}
export interface TransformCallable<T = any> {
    (params: TransformCallableParams<T>): string;
}
export interface CmsEntryElasticsearchQueryBuilderValueSearchPluginParams {
    fieldType: string;
    path?: string | CreatePathCallable;
    transform: TransformCallable;
}
export declare class CmsEntryElasticsearchQueryBuilderValueSearchPlugin extends Plugin {
    static readonly type: string;
    private readonly config;
    get fieldType(): string;
    constructor(params: CmsEntryElasticsearchQueryBuilderValueSearchPluginParams);
    transform(params: TransformCallableParams): any;
    createPath(params: CreatePathCallableParams): string | null;
}
export declare const createCmsEntryElasticsearchQueryBuilderValueSearchPlugin: (params: CmsEntryElasticsearchQueryBuilderValueSearchPluginParams) => CmsEntryElasticsearchQueryBuilderValueSearchPlugin;
