import { OpenAPIV3 } from 'openapi-types'; import { DocResponse } from './router'; import { Format } from './format'; interface SchemaObject extends Omit { required?: boolean; } interface Param extends OpenAPIV3.ParameterBaseObject { type?: OpenAPIV3.NonArraySchemaObjectType | Format; } interface BodySchema extends Omit { type?: SchemaObject['type'] | Format; } export declare const pathParamMetadataKey: unique symbol; export declare const bodyPropMetadataKey: unique symbol; export declare const docMetadataKey: unique symbol; export declare const propsMetadataKey: unique symbol; export declare const errorResponseMetadataKey: unique symbol; export declare function getPropsMetadata(target: any): any; export declare function doc(doc: Omit): (constructor: Function) => void; export declare function pathParam(doc: Param): (target: any, propertyKey: string) => void; export declare function queryParam(doc: Param): (target: any, propertyKey: string) => void; export declare function bodyProp(doc: BodySchema): (target: any, propertyKey: string) => void; export declare function errorResponse(doc?: DocResponse): (target: any, propertyKey: string) => void; export {};