import { FieldConfigMetadata, GenericDataSchema } from '@aws-amplify/codegen-ui'; import { Statement, VariableStatement, ExpressionStatement, IfStatement } from 'typescript'; import { ImportCollection } from '../../imports'; import { DataApiKind } from '../../react-render-config'; /** Object.entries(modelFields).forEach(([key, value]) => { if (typeof value === 'string' && value === "") { modelFields[key] = undefined; } }); */ export declare const replaceEmptyStringStatement: ExpressionStatement; export declare const buildExpression: (dataStoreActionType: 'update' | 'create', modelName: string, importedModelName: string, fieldConfigs: Record, dataSchema: GenericDataSchema, importCollection: ImportCollection, dataApi?: DataApiKind | undefined, renderConfigDependencies?: { [key: string]: string; } | undefined) => Statement[]; /** example: const validationResponses = await Promise.all( Object.keys(validations).reduce((promises, fieldName) => { if (Array.isArray(modelFields[fieldName])) { promises.push( ...modelFields[fieldName].map((item) => runValidationTasks(fieldName, item, getDisplayValue[fieldName]), ), ); return promises; } promises.push(runValidationTasks(fieldName, modelFields[fieldName], getDisplayValue[fieldName])); return promises; }, []), ); if (validationResponses.some((r) => r.hasError)) { return; } */ export declare const onSubmitValidationRun: (shouldUseGetDisplayValue?: boolean | undefined) => (VariableStatement | IfStatement)[]; export declare const buildUpdateDatastoreQuery: (importedModelName: string, lowerCaseDataTypeName: string, relatedModelStatements: Statement[], primaryKeyPropName: string, importCollection: ImportCollection, primaryKeys: string[], dataApi?: DataApiKind | undefined, renderConfigDependencies?: { [key: string]: string; } | undefined) => (ExpressionStatement | VariableStatement)[];