import { ApiRouter } from './router';
import { RequiredDoc } from './types';
import { RequestHandler } from 'express';
import { middleware as OpenApiValidator } from 'express-openapi-validator';
export declare function getDefaultRouterMiddleware(): import("connect").NextHandleFunction[];
/**
 * Given a base url for a plugin, find the given OpenAPI spec for that plugin.
 * @param baseUrl - Plugin base url.
 * @returns OpenAPI spec route for the base url.
 * @public
 */
export declare function getOpenApiSpecRoute(baseUrl: string): string;
/**
 * Create a new OpenAPI router with some default middleware.
 * @param spec - Your OpenAPI spec imported as a JSON object.
 * @param validatorOptions - `openapi-express-validator` options to override the defaults.
 * @returns A new express router with validation middleware.
 * @public
 */
export declare function createValidatedOpenApiRouter<T extends RequiredDoc>(spec: T, options?: {
    validatorOptions?: Partial<Parameters<typeof OpenApiValidator>['0']>;
    middleware?: RequestHandler[];
}): ApiRouter<T>;
