import { Core } from '@strapi/strapi'; interface NexusTypeBuilder { nonNull: NexusTypeBuilder; field: (name: string, config: NexusFieldConfig) => void; float: (name: string, config?: NexusFieldConfig) => void; list: NexusTypeBuilder; int: (name: string, config?: NexusFieldConfig) => void; } interface NexusFieldConfig { type?: string; args?: Record; description?: string; resolve?: (parent: unknown, args: unknown, ctx: GraphQLContext) => unknown; } interface NexusObjectTypeConfig { name: string; description?: string; definition: (t: NexusTypeBuilder) => void; } interface NexusExtendTypeConfig { type: string; definition: (t: NexusTypeBuilder) => void; } export interface NexusModule { objectType: (config: NexusObjectTypeConfig) => unknown; extendType: (config: NexusExtendTypeConfig) => unknown; nonNull: (arg: unknown) => unknown; stringArg: (description?: string) => unknown; } interface GraphQLContext { state: { auth?: Record; }; koaContext: { response: { message?: string; }; }; } declare const getCustomTypes: (strapi: Core.Strapi, nexus: NexusModule) => unknown[]; export default getCustomTypes;