import type * as graphql from "graphql"; import type { IResolvers } from "@graphql-tools/utils"; import type { Collections, CollectionName, CollectionNameStyle, CollectionNameStyledAs, MutableCollectionName } from "../collections"; import * as Id from "../id"; import type { Workspace } from "../data"; /** * @category Definitions */ export type Definitions = { [N in CollectionName]: Definition; }; /** * @category Definitions */ export type Definition> = Id.Definition & { typeDefs: graphql.DocumentNode; resolvers?: IResolvers>; names: { [S in CollectionNameStyle]: CollectionNameStyledAs; }; } & (N extends MutableCollectionName ? { mutable: true; } : { mutable?: false; }); export interface Context { workspace: Workspace; }