import { SchemaComposer } from 'graphql-compose'; import { IResolvers } from '@graphql-tools/utils'; import { GraphQLSchema } from 'graphql'; import { GraphbackCoreMetadata, GraphbackPlugin, ModelDefinition } from '@graphback/core'; import { GlobalConflictConfig } from "./util"; export declare const DATASYNC_PLUGIN_NAME = "DataSyncPlugin"; export interface DataSyncPluginConfig { conflictConfig: GlobalConflictConfig; } /** * DataSync plugin * * Plugin is enabled by """ @datasync """ annotation * It will generate delta queries */ export declare class DataSyncPlugin extends GraphbackPlugin { protected config: DataSyncPluginConfig; constructor(config?: DataSyncPluginConfig); transformSchema(metadata: GraphbackCoreMetadata): GraphQLSchema; /** * Creates resolvers for Data Synchonization * * @param {GraphbackCoreMetadata} metadata - Core metatata containing all model information */ createResolvers(metadata: GraphbackCoreMetadata): IResolvers; createResources(metadata: GraphbackCoreMetadata): void; getPluginName(): string; protected addDeltaSyncResolver(model: ModelDefinition, resolvers: IResolvers): void; protected addDataSyncFieldsToModel(schemaComposer: SchemaComposer, model: ModelDefinition): void; protected addDataSyncFieldsToInputTypes(schemaComposer: SchemaComposer, model: ModelDefinition): void; protected addDeltaQuery(schemaComposer: SchemaComposer, model: ModelDefinition): void; } //# sourceMappingURL=DataSyncPlugin.d.ts.map