import * as t from "io-ts"; import { GraphQLOutputType } from "graphql"; import { MappedArgs } from "./MappedArgs"; export declare const OperationMappingRT: t.IntersectionC<[t.TypeC<{ /** * Name of operation * (surfaced as-is to GraphQL) * (not used internally by GRelDAL) * * @memberof OperationMapping */ name: t.UnionC<[t.StringC, t.TypeC<{ stored: t.StringC; mapped: t.StringC; }>]>; }>, t.PartialC<{ /** * A human readable description of what this operation does * (surfaced as-is to GraphQL) * (not used internally by GRelDAL) * * @memberof OperationMapping */ description: t.StringC; /** * Whether the operation operates on a single entity (true) or a collection of entities (false) * * @memberof OperationMapping */ singular: t.BooleanC; /** * Whether the operation can operate on the concerned entity (or entities) as well as other associated entities (false) * or just the top level entity (or entities) * * @memberof OperationMapping */ shallow: t.BooleanC; }>]>; /** * @api-category ConfigType */ export interface OperationMapping extends t.TypeOf { /** * GraphQL return type (or output type) of this operation * * (Surfaced as-is to GraphQL) * (Not used internally by GRelDAL) */ returnType?: GraphQLOutputType; /** * Mapped operation arguments. This would be obtained by invoking the mapArgs function */ args?: MappedArgs; resolver?: Function; }