/// import { EventEmitter } from 'events'; import { IConfig } from './interfaces'; import { BaseManagedFile } from '../../structures/file'; /** * Helper class for managing the configuration file */ export declare class ConfigManager extends BaseManagedFile { /** Path leading to the root of the package */ readonly rootDirectory: string; /** Options supplied by a configuration file (.akitaneru.js) */ readonly options: IConfig; /** * Creates a configuration manager * @param {IConstructorOptions} [options] - Optional options for the configuration manager. */ constructor(options?: IConfig, filePath?: string); init(): Promise; /** Gets the absolute path of the root of the framework. */ get akitaNeruRoot(): string; /** Gets the project's root directory */ get projectRootDirectory(): string; addEmitter(emitters: { [key: string]: EventEmitter; }): void; static configure(config: IConfig): IConfig; /** Get the root of the project using the framework's configuration file */ private getUserRootDirectory; /** Gets the configuration file of the application */ private getConfigFile; /** Fetches the token of the application if it's not supplied in the configuration file */ private fetchRootFile; /** Fetches the ormconfig if there's any */ private fetchORMConfig; /** * Checks the validity of the configuration file * TODO: Use TypeScript type comparasion shenenigans to validate the file instead */ private isValidConfiguration; }