import { GraphQLFieldResolver, GraphQLObjectType, GraphQLScalarType, GraphQLResolveInfo, GraphQLFieldConfigMap } from 'graphql'; import { KsqlDBClient } from 'ksqldb-rx-client'; import { SourceDescription } from 'ksqldb-rx-client/dist/types/api/ksql/source-description'; export interface KSqlDBEntities { [key: string]: { type: GraphQLObjectType | GraphQLScalarType; }; } declare type KsqDBContext = { ksqlDBClient: KsqlDBClient; }; export interface Config { ksqlDBClient: KsqlDBClient; streamsFilter?: (sourceDescription: SourceDescription) => boolean; tablesFilter?: (sourceDescription: SourceDescription) => boolean; } export interface Resolver { [key: string]: GraphQLFieldResolver; } export interface SubscriptionResolver { [name: string]: { subscribe: (obj: void, args: { [key: string]: string; }, context: KsqDBContext, info: GraphQLResolveInfo) => void; }; } export declare type KsqlDBGraphResolver = GraphQLFieldResolver; export declare type ResolverFields = { queryFields: GraphQLFieldConfigMap; subscriptionFields: GraphQLFieldConfigMap; mutationFields: GraphQLFieldConfigMap; }; export {};