import { Dependence } from '../data/dependence'; import { ICron } from '../protos/cron'; export type Override< T, K extends Partial<{ [P in keyof T]: any }> | string, > = K extends string ? Omit & { [P in keyof T]: T[P] | unknown } : Omit & K; export type TCron = Override, { id: string }>; export interface IDependencyFn { (): Promise; dependency?: Dependence; } export interface ICronFn { (): Promise; cron?: TCron; } export interface ISchedule { schedule?: string; name?: string; command?: string; id: string; } export interface IScheduleFn { (): Promise; schedule?: ISchedule; }