import type http from 'node:http'; import type { Plugin } from '../types'; import eventsHandler from './domain/events-handler'; import type { HttpServerAdapterFactory, NativeApp } from './domain/http-server/types'; import { RegistryOptions } from './domain/options-sanitiser'; export { RegistryOptions }; export interface RegistryType> { close: (callback: (err?: Error | undefined | string) => void) => void; on: typeof eventsHandler.on; register: (plugin: Plugin, callback?: (...args: any[]) => void) => void; start: (callback: (err: unknown, data?: { app: TApp; server: http.Server; }) => void) => Promise; app: TApp; } export default function registry>(inputOptions: RegistryOptions): RegistryType;