import { TBasePageEntity } from '@cromwell/core';
import { TFieldDefaultComponent } from '@helpers/customFields';
import React from 'react';
import { TBaseEntityFilter, TEditField, TFieldsComponentProps } from '../types';
import { TEntityEditProps } from './type';
export declare const setValueOfTextEditorField: (value?: string | null) => {
    description: string;
    descriptionDelta: any;
};
export declare const getInitialValueOfTextEditorField: (value: any, entityData: any) => string;
export declare type EntityEditContextType<TEntityType extends TBasePageEntity, TFilterType extends TBaseEntityFilter, TEntityInputType = TEntityType> = {
    pageProps: TEntityEditProps<TEntityType, TFilterType, TEntityInputType>;
    fieldProps: TFieldsComponentProps<TEntityType>;
};
export declare const EntityEditContext: React.Context<EntityEditContextType<TBasePageEntity, TBaseEntityFilter, TBasePageEntity>>;
export declare function EntityEditContextProvider<TEntityType extends TBasePageEntity, TFilterType extends TBaseEntityFilter, TEntityInputType = TEntityType>({ value, children, }: {
    value: EntityEditContextType<TEntityType, TFilterType, TEntityInputType>;
    children: React.ReactNode;
}): JSX.Element;
export declare function getCachedField<TEntityType extends TBasePageEntity>(field: TEditField<TEntityType>, entityCategory: string): {
    component: TFieldDefaultComponent;
    saveData: () => string | Promise<string>;
    value?: any;
} | undefined;
