import { type SecurityHeadersConfig } from './headers.js';
import type { RateLimiter } from './rate-limit.js';
export interface SecurityMiddlewareConfig {
    headers?: SecurityHeadersConfig;
    csrf?: {
        enabled: boolean;
        cookieName?: string;
    };
    rateLimit?: RateLimiter;
    rateLimitKey?: (request: Request) => string;
}
export interface SecurityMiddlewareResult {
    allowed: boolean;
    headers: Record<string, string>;
    error?: string;
    status?: number;
}
/** Compose a security middleware pipeline that applies headers, CSRF, and rate limiting. */
export declare function applySecurityMiddleware(request: Request, config: SecurityMiddlewareConfig): Promise<SecurityMiddlewareResult>;
//# sourceMappingURL=middleware.d.ts.map