import type { OpenApiBuilder, SchemaObject } from 'openapi3-ts/oas31';
import { KobpRouter, KobpServiceContext } from '..';
import { SwaggerGenerationOption } from '../utils/swagger';
export interface ValidatableShape {
    query?: SchemaObject;
    body?: SchemaObject;
    parameters?: SchemaObject;
}
export declare class SwaggerController {
    readonly title: string;
    protected options: Partial<SwaggerGenerationOption>;
    protected builder: () => OpenApiBuilder;
    constructor(title: string, options: Partial<SwaggerGenerationOption>);
    register(onPath: string, router: KobpRouter): void;
    getSwagger(context: KobpServiceContext, router: KobpRouter): void;
    getSpecJsonUrl(context: KobpServiceContext, router: KobpRouter): void;
}
