import VWebApplicationContext, { Active, Environment } from './VWebApp'; import cache from './cache'; import file from './util/file'; import assert from './util/assert'; import util from './util'; import logger from './logger'; import LogicError from './error/LogicError'; import Open from "./Open"; import MultiMap from './util/MultiMap'; export * from './util'; export * from './VWebApp'; export * from './anno'; export * from './cache'; declare let applicationContext: VWebApplicationContext; export declare const commandLineColors: { front: { bright: string; grey: string; reverse: string; black: string; red: string; green: string; yellow: string; blue: string; magenta: string; cyan: string; underline: string; hidden: string; italic: string; white: string; }; background: { black: string; red: string; green: string; yellow: string; blue: string; magenta: string; cyan: string; white: string; }; }; export declare type StartupCallback = (context: VWebApplicationContext) => Promise; export declare interface StartupOptions { active?: Active; conf?: string | Environment; callback?: StartupCallback; } export declare const startup: (options?: StartupOptions | StartupCallback | Active) => Promise; export declare const LoggerFactory: typeof logger; export declare const getApplicationContext: () => VWebApplicationContext; export declare const props: (key: string) => any; export declare const parseExpress: (express: string) => any; export declare function defineEnvironment(env: Environment): Environment; export declare const upgradeProps: (props: any) => Record; declare global { interface Logger { log(...args: any[]): void; isLevelEnabled(level?: string): boolean; isTraceEnabled(): boolean; isDebugEnabled(): boolean; isInfoEnabled(): boolean; isWarnEnabled(): boolean; isErrorEnabled(): boolean; isFatalEnabled(): boolean; debug(message: any, ...args: any[]): void; info(message: any, ...args: any[]): void; warn(message: any, ...args: any[]): void; error(message: any, ...args: any[]): void; fatal(message: any, ...args: any[]): void; mark(message: any, ...args: any[]): void; } const applicationContext: VWebApplicationContext; interface Object { readonly applicationContext: VWebApplicationContext; readonly annotation: any; readonly logger: Logger; readonly LoggerFactory: { getLogger(name: string): Logger; }; } } export interface VWebModule { startup(context: VWebApplicationContext): Promise; } export default applicationContext; export { VWebApplicationContext, assert, file, cache, util, MultiMap, logger, Open, LogicError };