export declare type SchemaEnums = Record; export declare type SchemaEnum = { name: string; values: string[]; }; declare type FieldType = string | { model: string; } | { nonModel: string; } | { enum: string; }; export declare type DataStoreModelField = { name: string; type: FieldType; isReadOnly: boolean; isRequired: boolean; isArray: boolean; }; export declare type CommonRelationshipType = { relatedModelName: string; }; export declare type HasManyRelationshipType = { type: 'HAS_MANY'; relatedModelFields: string[]; canUnlinkAssociatedModel: boolean; relatedJoinFieldName?: string; relatedJoinTableName?: string; belongsToFieldOnRelatedModel?: string; } & CommonRelationshipType; export declare type HasOneRelationshipType = { type: 'HAS_ONE'; associatedFields?: string[]; isHasManyIndex?: boolean; } & CommonRelationshipType; export declare type BelongsToRelationshipType = { type: 'BELONGS_TO'; associatedFields?: string[]; isHasManyIndex?: boolean; } & CommonRelationshipType; export declare type GenericDataRelationshipType = HasManyRelationshipType | HasOneRelationshipType | BelongsToRelationshipType; export declare type DataFieldDataType = 'ID' | 'String' | 'Int' | 'Float' | 'AWSDate' | 'AWSTime' | 'AWSDateTime' | 'AWSTimestamp' | 'AWSEmail' | 'AWSURL' | 'AWSIPAddress' | 'Boolean' | 'AWSJSON' | 'AWSPhone' | { enum: string; } | { model: string; } | { nonModel: string; }; export declare type GenericDataField = { dataType: DataFieldDataType; required: boolean; readOnly: boolean; isArray: boolean; relationship?: GenericDataRelationshipType; }; export declare type GenericDataModel = { fields: { [fieldName: string]: GenericDataField; }; isJoinTable?: boolean; primaryKeys: string[]; }; export declare type GenericDataNonModel = { fields: { [fieldName: string]: GenericDataField; }; }; export declare type GenericDataSchema = { dataSourceType: 'DataStore'; models: { [modelName: string]: GenericDataModel; }; enums: { [enumName: string]: { values: string[]; }; }; nonModels: { [nonModelName: string]: GenericDataNonModel; }; }; export {}; //# sourceMappingURL=data.d.ts.map