import { IDiAutoloader, IMergableFileNames, IService } from '@rafterjs/di-autoloader'; import { ILogger } from '@rafterjs/logger-plugin'; import { GlobWithOptions } from 'awilix'; import { IRafter } from './IRafter'; import { IPluginPathProvider } from './plugins'; export interface IRafterConfig { diAutoloader: IDiAutoloader; corePath: GlobWithOptions | string; paths?: Array; mergableFileNames?: IMergableFileNames; pluginPathProvider: IPluginPathProvider; logger?: ILogger; } export declare const PLUGIN_FILENAME = "plugins"; export declare const EXTENSION_GLOB_SUFFIX = ".@(ts|js)"; export declare const IGNORE_GLOB_SUFFIX = "!(*.spec|*.test|index|*.d)"; export declare const GLOB_SUFFIX: string; export declare class Rafter implements IRafter { private readonly diAutoloader; private readonly pluginPathProvider; private readonly corePath; private readonly mergableFileNames; private readonly paths; private readonly logger; constructor(rafterConfig: IRafterConfig); private initDependencies; start(): Promise; stop(): Promise; get(serviceName: string): T; register(name: string, service: IService): void; private getPathsWithSuffix; private getPluginPaths; private loadPluginConfigs; } export default Rafter;