import AbstractHandlerMethodMapping from './AbstractHandlerMethodMapping';
import RequestMappingInfo from './RequestMappingInfo';
import HttpServletRequest from '../http/HttpServletRequest';
import MappingRegistration from './registry/MappingRegistration';
import HandlerMethod from '../method/HandlerMethod';
import RequestMapping from '../annotations/mapping/RequestMapping';
import RuntimeAnnotation from '../annotations/annotation/RuntimeAnnotation';
import ServletContext from '../http/ServletContext';
import InitializingBean from '../../ioc/processor/InitializingBean';
import { ClazzType } from '../../interface/declare';
import CorsOrigin from '../cors/CorsOrigin';
import CorsConfiguration from '../cors/CorsConfiguration';
export default class RequestMappingHandlerMapping extends AbstractHandlerMethodMapping<RequestMappingInfo> implements InitializingBean {
    constructor();
    afterPropertiesSet(): void;
    registerAnnotationMappings(annotation: RuntimeAnnotation<typeof RequestMapping>): void;
    registerAllAnnotationMappings(): void;
    private isConsumeable;
    checkRequest(servletContext: ServletContext, mapping: RequestMappingInfo, handler: HandlerMethod, requestMethod: string): HandlerMethod;
    private getRequestMethod;
    handleMatch(mapping: RequestMappingInfo, request: HttpServletRequest): void;
    match(registraction: MappingRegistration<RequestMappingInfo>, path: string, request: HttpServletRequest): HandlerMethod;
    initCorsConfiguration(beanType: ClazzType, method: Function): CorsConfiguration;
    updateCorsConfig(config: CorsConfiguration, anno: InstanceType<typeof CorsOrigin>): void;
}
