import { GraphQLFieldConfigArgumentMap, GraphQLFieldConfigMap, GraphQLSchema, GraphQLSchemaConfig } from "graphql"; import { ModelCtor, ModelType } from "sequelize"; import { SequelizeAdapter, SequelizeAdapterConfig } from "./SequelizeAdapter"; import CONS from "./constant"; /** * 覆盖一些常量 * @param map */ export declare function mergeConstant(map: Partial): void; declare function getName(model: ModelType): string; declare function map2NullableType(fields: GraphQLFieldConfigArgumentMap): GraphQLFieldConfigArgumentMap; export declare type GenerateAdapterConfig = SequelizeAdapterConfig & Partial & { customQuery?: ((adapters: AdapterMaps, options: GenerateAdapterConfig) => GraphQLFieldConfigMap) | GraphQLFieldConfigMap; customMutation?: ((adapters: AdapterMaps, options: GenerateAdapterConfig) => GraphQLFieldConfigMap) | GraphQLFieldConfigMap; customSubscription?: ((adapters: AdapterMaps, options: GenerateAdapterConfig) => GraphQLFieldConfigMap) | GraphQLFieldConfigMap; configMap?: { [key in keyof T]?: SequelizeAdapterConfig; }; /** * 是否添加Mutation */ includeMutation?: boolean; /** * 是否添加Subscription */ includeSubscription?: boolean; /** * 移除Query字段 */ omitQueryFields?: string[]; /** * 移除Mutation字段 */ omitMutationFields?: string[]; /** * 移除Subscription字段 */ omitSubscriptionFields?: string[]; }; export declare type AdapterMaps = { [key in keyof T]?: SequelizeAdapter; }; /** * 生成schema * @param models * @param options * @returns {GraphQLSchema} */ declare function generateSchema; }>(models: T, options?: GenerateAdapterConfig): GraphQLSchema; export { getName, map2NullableType, generateSchema, };