import type { RequestMethod } from '../enum';
import type { CustomOrigin, StaticOrigin } from '../types';
export interface CorsOptionsCallback {
    (error: Error | null, options: CorsOptions): void;
}
export interface CorsOptionsDelegate<T> {
    (req: T, cb: CorsOptionsCallback): void;
}
export interface CorsOptions {
    origin?: StaticOrigin | CustomOrigin;
    methods?: keyof typeof RequestMethod | (keyof typeof RequestMethod)[];
    allowedHeaders?: string | string[];
    exposedHeaders?: string | string[];
    credentials?: boolean;
    maxAge?: number;
    preflightContinue?: boolean;
    optionsSuccessStatus?: number;
}
