export declare class BaseCorsOptions {
    origins: string[];
    originPatterns: RegExp[];
    allowedHeaders: string[];
    exposedHeaders: string[];
    methods: string[];
    allowCredentials: boolean;
    allowPrivateNetwork: boolean;
    maxAge: number;
}
export default class CorsConfiguration extends BaseCorsOptions {
    static ALL: string;
    constructor(options?: Partial<BaseCorsOptions>);
    validate(): void;
    validateAllowCredentials(): void;
    validateAllowPrivateNetwork(): void;
    private merge;
    addAllowedOrigin(origin: string): void;
    addAllowedMethod(method: string): void;
    addAllowedHeader(header: string): void;
    addAllowedOriginPattern(pattern: RegExp): void;
    combine(other: CorsConfiguration): CorsConfiguration;
    private matchOrigin;
    private matchOriginWithPattern;
    checkOrigin(origin: string): string;
    checkHttpMethod(requestMethod: string): string[];
    checkHeaders(requestHeaders: string[]): any[];
    applyPermitDefaultValues(): this;
}
