import { Entity, EntityReference, EntitySchema, EntitySchemaResolver, EntityStatus, EntityValues, GeoPoint, Properties, PropertiesOrBuilder, Property, ResolvedEntitySchema } from "../models"; export declare function isReadOnly(property: Property): boolean; export declare function isHidden(property: Property): boolean; /** * * @param schema * @param values * @param path * @param entityId * @ignore */ export declare function computeSchema({ schemaOrResolver, path, entityId, values, previousValues }: { schemaOrResolver: EntitySchema | ResolvedEntitySchema | EntitySchemaResolver; path: string; entityId?: string | undefined; values?: Partial>; previousValues?: Partial>; }): ResolvedEntitySchema; /** * * @param propertiesOrBuilder * @param values * @param previousValues * @param path * @param entityId * @ignore */ export declare function computeProperties({ propertiesOrBuilder, path, entityId, values, previousValues }: { propertiesOrBuilder: PropertiesOrBuilder; path: string; entityId?: string | undefined; values?: Partial>; previousValues?: Partial>; }): Properties; export declare function initWithProperties(properties: Properties, defaultValues?: Partial>): EntityValues; /** * Update the automatic values in an entity before save * @category Datasource */ export declare function updateAutoValues({ inputValues, properties, status, timestampNowValue, referenceConverter, geopointConverter }: { inputValues: Partial>; properties: Properties; status: EntityStatus; timestampNowValue: any; referenceConverter?: (value: EntityReference) => any; geopointConverter?: (value: GeoPoint) => any; }): EntityValues; /** * Add missing required fields, expected in the schema, to the values of an entity * @param values * @param properties * @category Datasource */ export declare function sanitizeData(values: EntityValues, properties: Properties): any; export declare function getReferenceFrom(entity: Entity): EntityReference; export declare function traverseValues(inputValues: Partial>, properties: Properties, operation: (value: any, property: Property) => any): EntityValues; export declare function traverseValue(inputValue: any, property: Property, operation: (value: any, property: Property) => any): any;