import { GraphQLType } from 'graphql'; import { TypeExpression } from '../type-expression/TypeExpression'; import { Instantiator } from '../types'; import { MetadataStorage } from './MetadataStorage'; export interface ReferenceConfig { source: Function | string; target: TypeExpression; } export declare type ReferenceKind = 'input' | 'output'; export declare abstract class Reference { protected config: TConfig; protected abstract kind: ReferenceKind; constructor(config: TConfig); readonly source: string | Function; readonly target: TypeExpression; resolveType(storage: MetadataStorage): GraphQLType; buildInstantiator(storage: MetadataStorage): Instantiator; } //# sourceMappingURL=Reference.d.ts.map