import HttpServletResponse from '../http/HttpServletResponse';
import CorsConfiguration from './CorsConfiguration';
import CorsProcessor from './CorsProcessor';
import HttpServletRequest from '../http/HttpServletRequest';
export default class DefaultCorsProcessor implements CorsProcessor {
    private tryAddVaryHeaders;
    rejectResponse(response: HttpServletResponse): Promise<void>;
    processRequest(config: CorsConfiguration, request: HttpServletRequest, response: HttpServletResponse): Promise<boolean>;
    private getHeader;
    getMethodToUse(request: HttpServletRequest, isPrelightRequest: boolean): string;
    getHeadersToUse(request: HttpServletRequest, isPrelightRequest: boolean): string[];
    checkOrigin(config: CorsConfiguration, requestOrigin: string): string;
    checkHttpMethods(config: CorsConfiguration, requestMethod: string): string[];
    checkHeaders(config: CorsConfiguration, requestHeaders: string[]): any[];
    handleInternal(request: HttpServletRequest, response: HttpServletResponse, config: CorsConfiguration, isPreFlightRequest: boolean): Promise<boolean>;
}
