import type {Connection} from './connection.js' import type * as Middleware from './middleware.js' import type {Watcher} from './watcher.js' export type {Connection} export type {Middleware} export type {Watcher} /** * Application interface * * @defaultValue express */ export interface Application extends Express.Application {} /** * Application server connections */ export interface Connections extends Record { http: Connection https: Connection } /** * Server interface */ export interface Server { /** * Server application */ application: {set: any; use: any} & Application /** * Instantiated middleware */ appliedMiddleware: Partial> /** * Apply middleware */ applyMiddleware: any /** * Available middleware */ availableMiddleware: Record /** * Express instance */ connection: Connection /** * Instantiated middleware */ enabledMiddleware: Partial> /** * Inject client scripts */ injectScripts: any /** * Proxy development server URL */ proxyUrl: URL /** * Proxy development server URL */ publicProxyUrl: URL /** * External development server URL */ publicUrl: URL /** * Run server */ run: () => Promise /** * Set server connection */ setConnection: (connection?: Connection) => Promise /** * Development server URL */ url: URL /** * Watcher instance */ watcher: Watcher }