import { GraphQLInputObjectType, GraphQLSchema, GraphQLFieldConfigMap, SelectionSetNode, GraphQLResolveInfo } from 'graphql'; import { Schema } from 'sqlex/dist/schema'; import { Accessor } from './accessor'; interface InputTypeMap { [key: string]: GraphQLInputObjectType; } export interface SchemaBuilderOptions { useWhereForGetOne?: boolean; getAccessor: (any: any) => Accessor; operators?: { [key: string]: string; }; } export declare class GraphQLSchemaBuilder { private domain; private schema; private rootValue; private options; private modelTypeMap; private connectionTypeMap; private filterInputTypeMap; private filterInputTypeMapEx; private inputTypesConnect; private inputFieldsConnectMap; constructor(domain: Schema, options?: Partial); createFilterInputTypes(): void; private relatedFilterInputType; createModelTypes(): void; getAccessor(context: any): Accessor; createQueryFields(): {}; createMutationInputTypes(): { inputTypesCreate: InputTypeMap; inputTypesUpdate: InputTypeMap; inputTypesUpsert: InputTypeMap; }; createMutationFields(): GraphQLFieldConfigMap; getSchema(): GraphQLSchema; getRootValue(): {}; } export declare function getQueryFields(info: GraphQLResolveInfo, selectionSet?: SelectionSetNode): {}; export declare function isEmpty(value: any): boolean; export declare function hasOnly(object: object, key: string): boolean; export {};