import type { AnyResolver, TypeResolver } from './Resolver'; import type { ScalarFunctions } from './Scalar'; import type { AnyRootType } from './types'; import type { UnionToIntersection } from '@principia/base/util/types'; import type { DocumentNode } from 'graphql'; export declare class SchemaParts { readonly typeDefs: DocumentNode; readonly resolvers: Record>; readonly scalars: Record; }>; readonly typeResolvers: Record; }>; readonly _R: (_: R) => void; readonly _Ctx: Ctx; constructor(typeDefs: DocumentNode, resolvers: Record>, scalars: Record; }>, typeResolvers: Record; }>); } declare type ExtractEnv>> = UnionToIntersection<{ [K in number]: [Fragments[K]] extends [{ _R: (_: infer R) => void; }] ? R : unknown; }[number]>; export interface SchemaGenerator { >>(...fragments: Fragments): SchemaParts>; } export declare const makeSchemaGenerator: () => SchemaGenerator; export {}; //# sourceMappingURL=SchemaGenerator.d.ts.map