/**
 * Before the data is persisted we want to generate the value for the props column.
 * @param defaultProps
 * @param propertyNames
 * @param nestedProps
 *
 * @returns
 * {
 *  @function propsGenerator - This guy is used while the blocs are saved i.e. to convert internationalised versions of
 *            properties from the properties object which is used to hold the values of the current language.
 *
 *  @function propsParser - It is used when data is fetched from the db.
 *            The internationalised properties have to be converted to key value pair, the way all blocs expect them to be.
 * }
 *
 * Note: Only Dynamic Flex doesn't use this. It has its own logic because it stores data upto 3 freaking levels.
 */
export declare function PropsGeneratorForGivenComponent<T, U>(defaultProps: T, propertyNames: string[], nestedProps: string[]): {
    propsGenerator: (props: T, properties: U, language: string) => U;
    propsParser: (propertiesEnglish: any, propertiesThai: any, id: string) => any;
};
