/// import { DependencyContainer, Dictionary, LoggerProvider } from '@artisan-framework/core'; import { Options as BodyParserOptions } from 'koa-bodyparser'; import { WebCookies } from './cookies'; import { WebOnErrorOptions } from './error'; import { WebStaticOptions } from './static'; import Koa = require('koa'); import Router = require('@koa/router'); import { WebMultipartOptions, WebMultipart } from './multipart'; import { WebViewOptions } from './view/view-protocol'; export declare const WebProvider: unique symbol; export declare const WebInitializationProvider: unique symbol; export declare const WebContext: unique symbol; export declare const WEB_PROVIDER_CONFIG_KEY = "artisan.web"; export declare const WEB_PROVIDER_INIT_ORDER = 5000; export interface WebServerOptions { manual?: boolean; port?: number; hostname?: string; keepAliveTimeout?: number; proxy?: boolean; proxyIpHeader?: string; maxIpsCount?: number; subdomainOffset?: number; env?: string; silent?: boolean; } export interface WebProviderConfig { server?: WebServerOptions; body?: BodyParserOptions; multipart?: WebMultipartOptions; router?: Router.RouterOptions; static?: WebStaticOptions; view?: WebViewOptions; onError?: WebOnErrorOptions; } export interface WebRouter extends Router { namespace(prefix: string, ...middlewares: Router.Middleware[]): Router; } declare module 'koa' { interface Request extends Koa.BaseRequest { body?: unknown; rawBody: string; } interface Context extends Koa.ParameterizedContext, Router.RouterParamContext { container: DependencyContainer; logger: LoggerProvider; cookies: WebCookies; performanceStartTime: number; multipart: (options?: WebMultipartOptions) => Promise; render: (file: string, data?: Dictionary) => Promise; } } export type WebContext = Koa.Context; export interface WebProvider { server: Koa; router: WebRouter; } export interface WebInitializationProvider { initWebProvider(webProvider: WebProvider): Promise; } //# sourceMappingURL=web-protocol.d.ts.map