/** * base types for GraphQL query layer * * @package: HoloREA * @since: 2019-05-20 */ import { AppSignalCb, CellId } from '@connoropolous/holochain-client'; import { IResolvers } from '@graphql-tools/utils'; import { GraphQLScalarType } from 'graphql'; export interface DNAIdMappings { agent?: CellId; agreement?: CellId; observation?: CellId; planning?: CellId; proposal?: CellId; specification?: CellId; } export { CellId }; export interface ResolverOptions { enabledVFModules?: VfModule[]; dnaConfig: DNAIdMappings; conductorUri: string; traceAppSignals?: AppSignalCb; } export interface ExtensionOptions { extensionSchemas?: string[]; extensionResolvers?: IResolvers; } export interface ReadParams { address: AddressableIdentifier; } export interface ById { id: AddressableIdentifier; } export declare type AddressableIdentifier = string; export declare type CommitmentAddress = AddressableIdentifier; export declare type ProcessAddress = AddressableIdentifier; export declare type FulfillmentAddress = AddressableIdentifier; export declare type SatisfactionAddress = AddressableIdentifier; export declare type AgreementAddress = AddressableIdentifier; export declare type PlanAddress = AddressableIdentifier; export declare type ProposalAddress = AddressableIdentifier; export declare type IntentAddress = AddressableIdentifier; export declare type AgentAddress = AddressableIdentifier; export declare type EconomicResourceAddress = AddressableIdentifier; export declare type EconomicEventAddress = AddressableIdentifier; export declare type ResourceSpecificationAddress = AddressableIdentifier; export declare type ProposedIntentAddress = AddressableIdentifier; export declare type ProcessSpecificationAddress = AddressableIdentifier; export interface ByRevision { revisionId: string; } export declare type APIOptions = ResolverOptions & ExtensionOptions; declare type ObjDecorator = (obj: T) => T; declare type Resolver = (root: any, args: any) => Promise; export declare function addTypename(name: string): ObjDecorator; export declare function injectTypename(name: string, fn: Resolver): Resolver; export declare enum VfModule { Util = "util", Pagination = "pagination", Agent = "agent", Agreement = "agreement", Action = "action", ProcessSpecification = "process_specification", ResourceSpecification = "resource_specification", Measurement = "measurement", Observation = "observation", Process = "process", Plan = "plan", Fulfillment = "fulfillment", Intent = "intent", Commitment = "commitment", Satisfaction = "satisfaction", Proposal = "proposal" } export declare const DEFAULT_VF_MODULES: VfModule[]; export declare const URI: GraphQLScalarType;