import { DeduplicationOptions, JobsOptions } from '../types'; import { QueueOptions } from './queue-options'; type FlowDeduplicationOptions = Omit; type FlowJobOpts = Omit & { deduplication?: FlowDeduplicationOptions; }; type FlowParentJobOpts = Omit; type FlowNestedLeafJobOpts = Omit; type FlowRootLeafJobOpts = Omit; export interface FlowJobBase { name: string; queueName: string; data?: any; prefix?: string; opts?: T; } export type FlowNestedLeafJob = FlowJobBase & { children?: never; }; export type FlowParentJob = FlowJobBase & { children: FlowJobNode[]; }; export type FlowJobNode = FlowParentJob | FlowNestedLeafJob; export type FlowRootLeafJob = FlowJobBase & { children?: never; }; export type FlowJob = FlowRootLeafJob | FlowJobNode; export type FlowQueuesOpts = Record>; export interface FlowOpts { /** * Map of options for Queue classes. */ queuesOptions: FlowQueuesOpts; } export {};