import type { ModuleMetadata, Provider, Type } from '@nestjs/common'; import type { VNPayConfig } from 'vnpay'; export interface VnpayModuleOptions extends VNPayConfig { } export interface VnpayModuleOptionsFactory { createVnpayOptions(): Promise | VnpayModuleOptions; } export interface VnpayModuleAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | VnpayModuleOptions; inject?: any[]; extraProviders?: Provider[]; }