import { Lazy } from "@effect-ts/core/Function"; import { AnyObjectType, ExtendObjectType, FieldRecord, FieldResolverRecord } from "../containers"; import { FieldPURIS, InferredFieldAlgebra } from "../HKT"; import { TypeofFieldRecord } from "../Utils"; export interface ExtendObjectTypeSummoner { < Type extends AnyObjectType, Fields extends FieldRecord >(definition: { fields: (F: InferredFieldAlgebra) => Fields; type: Lazy; }): ExtendObjectType< URI, Type["_ROOT"], Ctx, Type, Fields, FieldResolverRecord, TypeofFieldRecord >; } export declare function makeExtendObjectTypeSummoner< URI extends string, PURI extends FieldPURIS, Ctx >(): ( interpreters: InferredFieldAlgebra ) => ExtendObjectTypeSummoner;