import { PluginsContainer } from "@webiny/plugins";
import { CmsEntry, StorageOperationsCmsModel } from "@webiny/api-headless-cms/types";
import { CmsIndexEntry } from "../../../types";
interface BaseTransformerParams {
    plugins: PluginsContainer;
    model: StorageOperationsCmsModel;
}
interface EntryTransformerParams extends BaseTransformerParams {
    entry: CmsEntry;
    storageEntry: CmsEntry;
    transformedToIndex?: never;
}
interface TransformedEntryTransformerParams extends BaseTransformerParams {
    entry?: never;
    storageEntry?: never;
    transformedToIndex: CmsIndexEntry;
}
interface TransformedKeysEntry {
    entry: CmsEntry;
    storageEntry: CmsEntry;
}
interface TransformerResult {
    transformEntryKeys: () => TransformedKeysEntry;
    transformToIndex: () => CmsIndexEntry;
    getElasticsearchLatestEntryData: () => Promise<Record<string, any>>;
    getElasticsearchPublishedEntryData: () => Promise<Record<string, any>>;
}
export declare const createTransformer: (params: EntryTransformerParams | TransformedEntryTransformerParams) => TransformerResult;
export {};
