import { GraphQLScalarType } from "graphql"; import { ValidatorOptions } from "class-validator"; import { ResolverFilterData } from "../interfaces"; export declare type TypeValue = ClassType | GraphQLScalarType | Function | object | symbol; export declare type ReturnTypeFuncValue = TypeValue | [TypeValue]; export declare type TypeValueThunk = (type?: void) => TypeValue; export declare type ClassTypeResolver = (classType?: void) => ClassType; export declare type ReturnTypeFunc = (returnType?: void) => ReturnTypeFuncValue; export declare type SubscriptionFilterFunc = (resolverFilterData: ResolverFilterData) => boolean | Promise; export interface DecoratorTypeOptions { nullable?: boolean; } export interface TypeOptions extends DecoratorTypeOptions { array?: boolean; } export interface DescriptionOptions { description?: string; } export interface DepreciationOptions { deprecationReason?: string; } export interface ValidateOptions { validate?: boolean | ValidatorOptions; } export interface SchemaNameOptions { name?: string; } export declare type BasicOptions = DecoratorTypeOptions & DescriptionOptions; export declare type AdvancedOptions = BasicOptions & DepreciationOptions & SchemaNameOptions; export interface ClassType { new (): T; } export interface EnumConfig { name: string; description?: string; } export declare type MethodAndPropDecorator = PropertyDecorator & MethodDecorator; export interface ResolverClassOptions { isAbstract?: boolean; }