import type { Model, Schema } from 'mongoose'; import { Document } from 'mongoose'; import type { ComposeOutputTypeDefinition, EnumTypeComposer, ObjectTypeComposer, SchemaComposer } from 'graphql-compose'; import type { GraphQLScalarType } from 'graphql-compose/lib/graphql'; type MongooseFieldT = { path?: string; instance: string; caster?: any; embeddedSchemaType?: any; options?: { description?: string; alias?: string; }; originalRequiredValue?: string | (() => any); isRequired?: boolean; defaultValue?: any; enumValues?: string[] | number[]; schema?: Schema; _index?: { [optionName: string]: any; }; }; type MongooseFieldMapT = { [fieldName: string]: MongooseFieldT; }; type ComposeScalarType = string | GraphQLScalarType; export type MongoosePseudoModelT = { schema: Schema; }; export declare enum ComplexTypes { ARRAY = "ARRAY", EMBEDDED = "EMBEDDED", DOCUMENT_ARRAY = "DOCUMENT_ARRAY", ENUM = "ENUM", REFERENCE = "REFERENCE", SCALAR = "SCALAR", MIXED = "MIXED", DECIMAL = "DECIMAL" } export declare function dotPathsToEmbedded(fields: MongooseFieldMapT): MongooseFieldMapT; export declare function getFieldsFromModel(model: Model | MongoosePseudoModelT): MongooseFieldMapT; export declare function convertModelToGraphQL(model: Model | MongoosePseudoModelT, typeName: string, schemaComposer: SchemaComposer): ObjectTypeComposer; export declare function convertSchemaToGraphQL(schema: Schema, typeName: string, schemaComposer: SchemaComposer): ObjectTypeComposer; export declare function convertFieldToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer): ComposeOutputTypeDefinition; export declare function deriveComplexType(field: MongooseFieldT): ComplexTypes; export declare function scalarToGraphQL(field: MongooseFieldT): ComposeScalarType; export declare function arrayToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer): ComposeOutputTypeDefinition; export declare function embeddedToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer): ObjectTypeComposer; export declare function enumToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer): EnumTypeComposer; export declare function documentArrayToGraphQL(field: MongooseFieldT, prefix: string | undefined, schemaComposer: SchemaComposer): [ObjectTypeComposer]; export declare function referenceToGraphQL(field: MongooseFieldT): ComposeScalarType; export {}; //# sourceMappingURL=fieldsConverter.d.ts.map