import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
export interface SetValuesCb<T extends CmsEntryValues = CmsEntryValues> {
    (prev: T): T;
}
export interface ModifyValuesParams<T extends CmsEntryValues = CmsEntryValues> {
    model: CmsModel;
    entry: CmsEntry<T>;
    values: T;
    setValues: (cb: SetValuesCb<T>) => void;
}
export interface ICmsEntryOpenSearchValuesModifier {
    canModify(modelId: string): boolean;
    modify<T extends CmsEntryValues = CmsEntryValues>(params: {
        model: CmsModel;
        entry: CmsEntry<T>;
        values: T;
    }): T;
}
export declare const CmsEntryOpenSearchValuesModifier: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValuesModifier>;
export declare namespace CmsEntryOpenSearchValuesModifier {
    type Interface = ICmsEntryOpenSearchValuesModifier;
    type Params<T extends CmsEntryValues = CmsEntryValues> = ModifyValuesParams<T>;
}
