nestjs-slack-bolt
Version:
A NestJS module for seamless integration with Slack using the Bolt SDK
30 lines (29 loc) • 1.38 kB
TypeScript
import { DynamicModule, OnApplicationBootstrap, Type, ForwardReference } from '@nestjs/common';
import { ExplorerService } from './services/explorer.service';
import { SlackService } from './services/slack.service';
import { SlackModuleOptions } from './interfaces/modules/module.options';
export interface SlackModuleAsyncOptions {
imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
useFactory?: (...args: any[]) => Promise<SlackModuleOptions> | SlackModuleOptions;
useClass?: Type<SlackModuleOptionsFactory>;
useExisting?: Type<SlackModuleOptionsFactory>;
useValue?: SlackModuleOptions;
inject?: any[];
}
export interface SlackModuleOptionsFactory {
createSlackOptions(): Promise<SlackModuleOptions> | SlackModuleOptions;
}
export declare class SlackModule implements OnApplicationBootstrap {
private readonly slackService;
private readonly explorerService;
constructor(slackService: SlackService, explorerService: ExplorerService);
static forRoot(options?: SlackModuleOptions): DynamicModule;
static forRootAsync(options: SlackModuleAsyncOptions): DynamicModule;
/**
* Create providers based on the async options
* @param options The async module options
* @returns An array of providers
*/
private static createAsyncProviders;
onApplicationBootstrap(): void;
}