import { ValueProvider, FactoryProvider, Provider, Type } from '@nestjs/common'; import { SbServerOptions, SbClientOptions } from '@pebula/attribus'; import { MetadataTransformer } from './metadata-transformer'; export interface SbModuleRegisterOptions { /** * A list of server configuration objects or a NestJS ValueProvider/FactoryProvider that resolves * to a list of server configuration objects. */ servers: SbServerOptions[] | Omit | Omit; /** * A list of client configuration objects or a NestJS ValueProvider/FactoryProvider that resolves * to a list of client configuration objects. */ clients?: SbClientOptions[] | Omit | Omit; /** * An optional providers that when set resolves to the value injected to the metadata factory function, when used. */ metadataTransformer?: Omit, Type>, 'provide'> | Type; providers?: Provider[]; }