///
///
import type { HttpServerExtender } from "@egomobile/http-server";
import ajv from "ajv";
import joi from "joi";
/**
* Extends an `IHttpServer` instance with controller features.
*
* @returns {HttpServerExtender} The extender.
*/
export declare function extendWithControllers(): HttpServerExtender;
export * from "./decorators/index.js";
export * from "./errors/index.js";
export * from "./middlewares/index.js";
export * from "./types/index.js";
/**
* Alias for `ajv` module.
*/
export declare const jsonSchema: {
(options?: ajv.Options | undefined): ajv.Ajv;
new (options?: ajv.Options | undefined): ajv.Ajv;
ValidationError: {
new (errors: ajv.ErrorObject[]): {
message: string;
errors: ajv.ErrorObject[];
ajv: true;
validation: true;
name: string;
stack?: string | undefined;
cause?: unknown;
};
captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
stackTraceLimit: number;
};
MissingRefError: {
new (baseId: string, ref: string, message?: string | undefined): {
message: string;
missingRef: string;
missingSchema: string;
name: string;
stack?: string | undefined;
cause?: unknown;
};
message: (baseId: string, ref: string) => string;
captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
stackTraceLimit: number;
};
$dataMetaSchema: object;
};
/**
* Alias for `joi` module.
*/
export declare const schema: joi.Root;
/**
* @inheritdoc
*/
export default extendWithControllers;