import { Converter } from "./Converter.js"; import type { CmsEntryValues, CmsModelField } from "../../types/index.js"; import type { PluginsContainer } from "@webiny/plugins"; import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js"; export interface CmsModelFieldsWithParent extends CmsModelField { parent?: CmsModelField | null; } export interface CmsModelConverterCallable { (params: ConverterCollectionConvertParams): T; } export interface ConverterCollectionConvertParams { fields: CmsModelFieldsWithParent[]; values?: T; } export interface ConverterCollectionParams { plugins: PluginsContainer; fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface; } export declare class ConverterCollection { private readonly converters; constructor(params: ConverterCollectionParams); addConverter(converter: Converter): void; getConverter(type: string): Converter; convertToStorage(params: ConverterCollectionConvertParams): T | undefined; convertFromStorage(params: ConverterCollectionConvertParams): T | undefined; /** * This method attaches hasOwnProperty when received object was created via Object.create(null) - no inheritance of Object. * At that point, hasOwnProperty does not exist, and we need to add it. * * TODO add more checks if required */ private attachHasOwnProperty; }