import { Constructor } from 'agentframework'; import { NextFunction } from './NextFunction'; import { Application } from 'agentstack'; import { WebApplicationSettings } from './WebApplicationSettings'; import { WebContext } from './WebContext'; import { Identity } from '../utils/Identity'; export interface IWebApplication { invoke(ctx: WebContext, next?: NextFunction): Promise; } export declare type WebApplicationConstructor = new (opt?: any) => IWebApplication; export declare abstract class WebApplication extends Application implements IWebApplication { private _count; private _identity; private _router; private _middlewares; constructor(opt?: any); addType(type: Constructor, initializer?: Function, finalizer?: Function): void; addGlobalType(type: Constructor, initializer?: Function, finalizer?: Function): void; addMiddleware(fn: Function): void; addController(type: Constructor): void; addControllers(routes: any): void; setIdentity(identity: Identity): void; readonly identity: Identity; initApplication(): void; abstract onInitApplication(): void; invoke(ctx: WebContext, next?: NextFunction): Promise; }