import { EvaluateConfig, OutputTypeConfig } from "../Config"; import { AnyField, AnyObjectType, AnyScalarType, FieldType, InputRecord, ObjectFieldType, RecursiveType, RecursiveTypeDef, ScalarFieldType } from "../containers/index"; import { ResolverF } from "../Resolver"; import { TypeofInputRecord } from "../Utils"; export declare const GQLFieldAURI: "graphql-effect/algebras/GQLField"; export declare type GQLFieldAURI = typeof GQLFieldAURI; declare module "../HKT" { interface AURItoFieldAlgebra { [GQLFieldAURI]: GQLFieldAlgebra; } } export interface GQLFieldAlgebra { boolean: ( config?: Config ) => ScalarFieldType>; custom: , Config extends OutputTypeConfig>( type: () => Type, config?: Config ) => ScalarFieldType>; field: < Type extends AnyField, Args extends InputRecord, S, R, E, A >(definiton: { args: Args; resolve: ResolverF, Ctx, S, R, E, Type["_A"]>; type: Type; }) => FieldType< ApolloURI, NonNullable, Type, Root, Args, Ctx, typeof definiton["resolve"], Type["_A"] >; float: ( config?: Config ) => ScalarFieldType>; id: ( config?: Config ) => ScalarFieldType>; int: ( config?: Config ) => ScalarFieldType>; objectField: >( type: () => Type, config?: Config ) => ObjectFieldType< ApolloURI, Config, Type["_ROOT"], Ctx, Type, EvaluateConfig> >; recursive: >() => ( name: Type["_NAME"], config?: Config ) => RecursiveType; string: ( config?: Config ) => ScalarFieldType>; }