/// import { EventEmitter } from 'events'; import { Controller } from '../routers/Controller'; import { PluginGlobal } from '../plugins/PluginGlobal'; import { I18nMessage } from '../i18n'; import { Composer } from '../utils/compose'; export declare abstract class Application extends EventEmitter { readonly i18n: I18nMessage; protected readonly routesPath: string[]; protected readonly composer: Composer; protected readonly noGlobalComposer: Composer; protected readonly pluginGlobal: PluginGlobal; constructor(routesPath: string | string[], locale: string); get locale(): string; getPaths(): string[]; /** * Useful for testing scenario. */ protected append(routes: Controller | Controller[]): this; protected createI18n(locale: string): import("@i18n-chain/node").I18nInstance<{ required: (string | { attribute: undefined; })[]; json: { invalid: (string | { attribute: undefined; })[]; }; array: { invalid: (string | { attribute: undefined; })[]; tooShort: (string | { attribute: undefined; minItemLength: undefined; })[]; tooLong: (string | { attribute: undefined; maxItemLength: undefined; })[]; betweenLength: (string | { attribute: undefined; minItemLength: undefined; maxItemLength: undefined; })[]; }; string: { invalid: (string | { attribute: undefined; })[]; tooShort: (string | { attribute: undefined; minLength: undefined; })[]; tooLong: (string | { attribute: undefined; maxLength: undefined; })[]; betweenLength: (string | { attribute: undefined; minLength: undefined; maxLength: undefined; })[]; }; range: { invalid: (string | { attribute: undefined; ranges: (values: (string | number)[]) => string; })[]; }; number: { invalid: (string | { attribute: undefined; })[]; integer: (string | { attribute: undefined; })[]; tooSmall: (string | { attribute: undefined; min: undefined; })[]; tooLarge: (string | { attribute: undefined; max: undefined; })[]; between: (string | { attribute: undefined; min: undefined; max: undefined; })[]; }; url: { invalid: (string | { attribute: undefined; })[]; }; boolean: { invalid: (string | { attribute: undefined; })[]; }; file: { invalid: (string | { attribute: undefined; })[]; tooLarge: (string | { attribute: undefined; maxSize: undefined; })[]; mimeType: (string | { attribute: undefined; })[]; }; }, import("@i18n-chain/node").Locale<{ required: (string | { attribute: undefined; })[]; json: { invalid: (string | { attribute: undefined; })[]; }; array: { invalid: (string | { attribute: undefined; })[]; tooShort: (string | { attribute: undefined; minItemLength: undefined; })[]; tooLong: (string | { attribute: undefined; maxItemLength: undefined; })[]; betweenLength: (string | { attribute: undefined; minItemLength: undefined; maxItemLength: undefined; })[]; }; string: { invalid: (string | { attribute: undefined; })[]; tooShort: (string | { attribute: undefined; minLength: undefined; })[]; tooLong: (string | { attribute: undefined; maxLength: undefined; })[]; betweenLength: (string | { attribute: undefined; minLength: undefined; maxLength: undefined; })[]; }; range: { invalid: (string | { attribute: undefined; ranges: (values: (string | number)[]) => string; })[]; }; number: { invalid: (string | { attribute: undefined; })[]; integer: (string | { attribute: undefined; })[]; tooSmall: (string | { attribute: undefined; min: undefined; })[]; tooLarge: (string | { attribute: undefined; max: undefined; })[]; between: (string | { attribute: undefined; min: undefined; max: undefined; })[]; }; url: { invalid: (string | { attribute: undefined; })[]; }; boolean: { invalid: (string | { attribute: undefined; })[]; }; file: { invalid: (string | { attribute: undefined; })[]; tooLarge: (string | { attribute: undefined; maxSize: undefined; })[]; mimeType: (string | { attribute: undefined; })[]; }; }>>; protected searchRoutes(routesPath: string[]): void; protected parseControllers(modules: Record): void; protected abstract getControllerInstance(): new (...args: any[]) => Controller; protected abstract inspect(): object; protected abstract toJSON(): object; }