import { ObjectTypeOptions } from '@nestjs/graphql'; import { Decorator } from './types'; export type VariantOfOptions = Omit & { /** * The column name to check the discriminator against * * @default "kind" */ column?: string; /** * The value of the discriminator column which identifies that the general sum type is this concrete type * * @default */ tag?: string; /** * The column name on the sum type which forms the relation with this type * * @default "id" */ parentId?: string; /** * The column name on this type which forms the relation with the sum type * * @default "id" */ childId?: string; }; /** * Marks an object type as a variant of a variant type These are the options of a sum type * * @extends ObjectType * @extends TableExtension * @extends RelationExtension * * @param type An arrow function which returns type which this type is a variant of * @param name The name of the table which backs this type * @param options Standard Nestjs object type options plus options to configure the relation & discriminator */ export declare function VariantOf(type: () => T, name: string, options?: VariantOfOptions): Decorator; /** * Marks an object type as a variant of a variant type These are the options of a sum type * * @extends ObjectType * @extends TableExtension * @extends RelationExtension * * @param type An arrow function which returns type which this type is a variant of * @param options Standard Nestjs object type options plus options to configure the relation & discriminator */ export declare function VariantOf(type: () => T, options?: VariantOfOptions): Decorator;