import { WarthogModel } from '../model'; /** * Parse a graphql schema and generate model defination strings for Warthog. It use GraphQLSchemaParser for parsing * @constructor(schemaPath: string) */ export declare class WarthogModelBuilder { private _schemaParser; private _model; private _fieldsToProcess; constructor(schemaPath: string); /** * Returns true if type is Scalar, String, Int, Boolean, Float otherwise false * Scalar types are also built-in */ private _isBuildinType; private _listType; /** * Create a new Field type from NamedTypeNode * @param name string * @param namedTypeNode NamedTypeNode * @param directives: additional directives of FieldDefinitionNode */ private _namedType; /** * Mark the object type as entity if '@entity' directive is used * @param o ObjectTypeDefinitionNode */ private isEntity; private isVariant; private isJsonField; private isUnique; /** * Generate a new ObjectType from ObjectTypeDefinitionNode * @param o ObjectTypeDefinitionNode */ private generateTypeDefination; private getInterfaces; private getFields; private generateInterfaces; private generateEntities; private generateVariants; private generateJsonFields; private generateUnions; private generateEnums; private genereateQueries; private postProcessFields; /** * It generate enums for interfaces defined in the schema to support type base filtering for * interface types. */ generateEnumsForInterface(): void; buildWarthogModel(): WarthogModel; }