import { Class, HttpMethod } from '@ditsmod/core';
import { GuardItem, HttpInterceptor } from '@ditsmod/rest';
import { XOperationObject } from '@ts-stack/openapi-spec';
/**
 * This route metadata has a `guards` property.
 */
export interface OasRouteMetadata {
    httpMethod: HttpMethod | [HttpMethod, ...HttpMethod[]];
    path: string;
    guards: GuardItem[];
    interceptors: Class<HttpInterceptor>[];
    /**
     * OAS `OperationObject`.
     */
    operationObject: XOperationObject;
}
/**
 * Open API Specification Route.
 */
export declare const oasRoute: OasRouteInterface;
interface OasRouteInterface {
    (httpMethod: HttpMethod | [HttpMethod, ...HttpMethod[]], path: string, guards: GuardItem[], interceptors: Class<HttpInterceptor>[], operationObject: XOperationObject): any;
    (httpMethod: HttpMethod | [HttpMethod, ...HttpMethod[]], path: string, guards: GuardItem[], interceptorsOrOperationObj?: XOperationObject | Class<HttpInterceptor>[]): any;
    (httpMethod: HttpMethod | [HttpMethod, ...HttpMethod[]], path?: string, guardsOrOperationObj?: XOperationObject | GuardItem[]): any;
}
export {};
//# sourceMappingURL=oas-route.d.ts.map