/** * Extend the base `Field` decorator with args type since resolve field args has a big performance hit */ import { FieldOptions } from '@nestjs/graphql'; import { GqlTypeReference, ReturnTypeFunc, ReturnTypeFuncValue } from '@nestjs/graphql/dist/interfaces/return-type-func.interface'; export type ArgsFieldOptions = FieldOptions & { args?: () => A; }; type ArgsFieldOptionsExtractor = T extends [GqlTypeReference] ? ArgsFieldOptions : T extends GqlTypeReference ? ArgsFieldOptions : never; /** * @ArgsField() decorator is used to mark a specific class property as a GraphQL field. * Only properties decorated with this decorator will be defined in the schema. */ export declare function ArgsField(): PropertyDecorator & MethodDecorator; /** * @ArgsField() decorator is used to mark a specific class property as a GraphQL field. * Only properties decorated with this decorator will be defined in the schema. */ export declare function ArgsField(options: ArgsFieldOptionsExtractor): PropertyDecorator & MethodDecorator; /** * @ArgsField() decorator is used to mark a specific class property as a GraphQL field. * Only properties decorated with this decorator will be defined in the schema. */ export declare function ArgsField(returnTypeFunction?: ReturnTypeFunc, options?: ArgsFieldOptionsExtractor): PropertyDecorator & MethodDecorator; export declare function addArgsFieldMetadata(typeOrOptions: ReturnTypeFunc | ArgsFieldOptionsExtractor | undefined, fieldOptions: ArgsFieldOptionsExtractor | undefined, prototype: Object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor, loadEagerly?: boolean): void; export {};