import { CorsConfig, MiddlewareFunction, RateLimitConfig, SecurityConfig, ValidationConfig } from '../types.cjs';
import '@re-auth/reauth';
import '@re-auth/reauth/services';
import 'hono/utils/cookie';

/**
 * CORS middleware factory
 */
declare function createCorsMiddleware(config?: CorsConfig): MiddlewareFunction;
/**
 * Rate limiting middleware factory
 */
declare function createRateLimitMiddleware(config?: RateLimitConfig): MiddlewareFunction;
/**
 * Security headers middleware factory
 */
declare function createSecurityMiddleware(config?: SecurityConfig): MiddlewareFunction;
/**
 * Input validation middleware factory
 */
declare function createValidationMiddleware(config?: ValidationConfig): MiddlewareFunction;
/**
 * Create all security middleware
 */
declare function createSecurityMiddlewares(config: {
    cors?: CorsConfig;
    rateLimit?: RateLimitConfig;
    security?: SecurityConfig;
    validation?: ValidationConfig;
}): MiddlewareFunction[];

export { createCorsMiddleware, createRateLimitMiddleware, createSecurityMiddleware, createSecurityMiddlewares, createValidationMiddleware };
