import type { GQLException } from './GQLException'; import type { FunctionN } from '@principia/base/function'; import type * as Sy from '@principia/base/Sync'; import type * as U from '@principia/base/util/types'; import type { DirectiveNode, ValueNode } from 'graphql'; export interface ScalarConfig { readonly description?: string; readonly directives?: Array; } export declare type SerializeF = (u: unknown) => Sy.Sync; export declare type ParseValueF = (u: unknown) => Sy.Sync; export declare type ParseLiteralF = (valueNode: ValueNode) => Sy.Sync; export interface ScalarFunctions { parseLiteral: ParseLiteralF; parseValue: ParseValueF; serialize: SerializeF; } export declare type Scalar = { functions: ScalarFunctions; name: Name; }; export declare type _I = Fs extends ScalarFunctions ? I : never; export declare type _O = Fs extends ScalarFunctions ? O : never; export declare type ScalarEnv> = U.UnionToIntersection<{ [k in keyof S['functions']]: S['functions'][k] extends FunctionN ? Ret extends Sy.Sync ? R : never : never; }[keyof S['functions']]>; export declare type SchemaScalars = { [n: string]: Scalar; }; export declare type SchemaScalarsEnv = U.UnionToIntersection<{ [k in keyof S]: ScalarEnv; }[keyof S]>; //# sourceMappingURL=Scalar.d.ts.map