import { GraphQLSchema, GraphQLFieldConfigMap } from 'graphql'; export type getSchemas = SchemaManager['getSchemas']; export type TSchemaOptions = { api: { queries: GraphQLFieldConfigMap; mutations: GraphQLFieldConfigMap; }; local: { queries: GraphQLFieldConfigMap; mutations: GraphQLFieldConfigMap; }; isLocal?: boolean; context?: Context; }; export type TSchemaConfig = { queries: GraphQLFieldConfigMap; mutations: GraphQLFieldConfigMap; context?: Context; }; type TQueriesList = { api: string[]; local: string[]; }; type SchemaObject = { queries: GraphQLFieldConfigMap; mutations: GraphQLFieldConfigMap; schema: GraphQLSchema; }; export type SchemaObjectMap = { api: GraphQLSchema; local: GraphQLSchema; }; export declare class SchemaManager { apiSchema: SchemaObject; localSchema: SchemaObject; options: TSchemaOptions; constructor(options: Partial>); getSchemas(): SchemaObjectMap; generateSchema(): void; listQueries(): TQueriesList; addOrUpdateQuery(query: GraphQLFieldConfigMap, id?: 'api' | 'local'): void; removeQuery(queryName: string, id?: 'api' | 'local'): number; listMutations(): TQueriesList; addOrUpdateMutation(query: GraphQLFieldConfigMap, id?: 'api' | 'local'): void; removeMutation(queryName: string, id?: 'api' | 'local'): number; private removeById; private buildGraphQLSchema; } export {};