import { DecodeError } from "@0x706b/convenience-ts/io-ts"; import * as T from "@effect-ts/core/Effect"; import { ValueNode } from "graphql"; import * as t from "io-ts"; import { ScalarType, ScalarTypeConfig } from "../containers"; import { ScalarA, ScalarE, ScalarFunctions, ScalarParseLiteralF } from "../Scalar"; export interface ScalarTypeSummoner { >( name: Name, definition: Funcs, config?: ScalarTypeConfig ): ScalarType, ScalarA>; } export interface ScalarTypeFromCodecSummoner { & ScalarTypeConfig, E, A>( name: Name, codec: t.Type, config?: Config ): ScalarType< URI, Name, { parseLiteral: undefined extends Config["parseLiteral"] ? (u: ValueNode) => T.Effect>, E> : NonNullable; parseValue: (u: unknown) => T.Effect>, E>; serialize: (u: unknown) => T.Effect>, A>; }, E, A >; } export declare function makeScalarTypeSummoner(): ScalarTypeSummoner; interface ScalarTypeFromCodecConfig { errorCode?: string; message?: string; parseLiteral?: ScalarParseLiteralF; userMessage?: string; } export declare function makeScalarTypeFromCodecSummoner< URI extends string >(): ScalarTypeFromCodecSummoner; export {};