import { ArrayReflector, Class } from '@ptc-org/nestjs-query-core'; import { RelationsOpts, ResolverRelation } from '../resolvers/relations'; import { ResolverManyRelation, ResolverOneRelation } from '../resolvers/relations/relations.interface'; import { BaseResolverOptions } from './resolver-method.decorator'; export declare const reflector: ArrayReflector; export type RelationOneDecoratorOpts = Omit, 'DTO' | 'allowFiltering' | 'filterDepth'>; export type RelationManyDecoratorOpts = Omit, 'DTO' | 'allowFiltering' | 'filterDepth'>; export type RelationTypeFunc = () => Class; export type RelationClassDecorator = >(DTOClass: Cls) => Cls | void; export interface RelationDescriptor { name: string; relationTypeFunc: RelationTypeFunc; isMany: boolean; relationOpts?: Omit, 'DTO'>; } export declare function getRelationsDescriptors(DTOClass: Class): RelationDescriptor[]; export declare function getRelations(DTOClass: Class, opts?: BaseResolverOptions): RelationsOpts; export declare const Relation: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationOneDecoratorOpts) => RelationClassDecorator; export declare const FilterableRelation: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationOneDecoratorOpts) => RelationClassDecorator; export declare const UnPagedRelation: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationManyDecoratorOpts) => RelationClassDecorator; export declare const FilterableUnPagedRelation: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationManyDecoratorOpts) => RelationClassDecorator; export declare const OffsetConnection: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationManyDecoratorOpts) => RelationClassDecorator; export declare const FilterableOffsetConnection: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationManyDecoratorOpts) => RelationClassDecorator; export declare const CursorConnection: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationManyDecoratorOpts) => RelationClassDecorator; export declare const FilterableCursorConnection: (name: string, relationTypeFunc: RelationTypeFunc, options?: RelationManyDecoratorOpts) => RelationClassDecorator;