schemaManager.d.ts 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. import type { Logger } from '@apollo/utils.logger';
  2. import type { GraphQLSchema } from 'graphql';
  3. import type { GatewayExecutor, GatewayInterface, GatewayUnsubscriber } from '@apollo/server-gateway-interface';
  4. import type { SchemaDerivedData } from '../ApolloServer.js';
  5. import type { ApolloConfig, GraphQLSchemaContext } from '../externalTypes/index.js';
  6. type SchemaDerivedDataProvider = (apiSchema: GraphQLSchema) => SchemaDerivedData;
  7. export declare class SchemaManager {
  8. private readonly logger;
  9. private readonly schemaDerivedDataProvider;
  10. private readonly onSchemaLoadOrUpdateListeners;
  11. private isStopped;
  12. private schemaDerivedData?;
  13. private schemaContext?;
  14. private readonly modeSpecificState;
  15. constructor(options: ({
  16. gateway: GatewayInterface;
  17. apolloConfig: ApolloConfig;
  18. } | {
  19. apiSchema: GraphQLSchema;
  20. }) & {
  21. logger: Logger;
  22. schemaDerivedDataProvider: SchemaDerivedDataProvider;
  23. });
  24. start(): Promise<GatewayExecutor | null>;
  25. onSchemaLoadOrUpdate(callback: (schemaContext: GraphQLSchemaContext) => void): GatewayUnsubscriber;
  26. getSchemaDerivedData(): SchemaDerivedData;
  27. stop(): Promise<void>;
  28. private processSchemaLoadOrUpdateEvent;
  29. }
  30. export {};
  31. //# sourceMappingURL=schemaManager.d.ts.map