export interface GraphQLJsonObjectType { name: string; fields: GraphQLJsonFieldType[]; } export interface GraphQLJsonFieldType { name: string; type: Exclude | 'Json'; jsonInterface?: GraphQLJsonObjectType; nullable: boolean; isArray: boolean; } export interface GraphQLModelsRelationsEnums { models: GraphQLModelsType[]; relations: GraphQLRelationsType[]; enums: GraphQLEnumsType[]; } export interface GraphQLEnumsType { name: string; values: string[]; description?: string; } export interface GraphQLModelsType { name: string; fields: GraphQLEntityField[]; indexes: GraphQLEntityIndex[]; fullText?: GraphQLFullTextType; description?: string; } export interface GraphQLEntityField { name: string; type: string; jsonInterface?: GraphQLJsonObjectType; isArray: boolean; nullable: boolean; isEnum: boolean; description?: string; } export declare enum IndexType { BTREE = "btree", HASH = "hash", GIST = "gist", SPGIST = "spgist", GIN = "gin", BRIN = "brin" } export interface GraphQLEntityIndex { fields: string[]; unique?: boolean; using?: IndexType; } export interface GraphQLFullTextType { fields: string[]; language?: string; } export interface GraphQLRelationsType { from: string; type: 'hasOne' | 'hasMany' | 'belongsTo'; to: string; foreignKey: string; fieldName?: string; } export declare enum FieldScalar { ID = "ID", Int = "Int", BigInt = "BigInt", String = "String", Date = "Date", Boolean = "Boolean", Bytes = "Bytes", Float = "Float" }