import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; import { Middleware, BotConfig, PollingOptions } from 'grammy'; export interface GrammyModuleOptions { token: string; botName?: string; options?: Partial>; pollingOptions?: PollingOptions | false; useWebhook?: boolean; include?: Function[]; middlewares?: ReadonlyArray>; disableUpdates?: boolean; } export interface GrammyOptionsFactory { createGrammyOptions(): Promise | GrammyModuleOptions; } export interface GrammyModuleAsyncOptions extends Pick { botName?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | GrammyModuleOptions; inject?: any[]; }