import type { JsonValue } from '@iota-big3/sdk-types'; export type { AuthMiddlewareOptions, AuthResult, CompressionMiddlewareOptions, CorsMiddlewareOptions, ErrorMiddlewareFunction, IMiddlewareManager, LoggingMiddlewareOptions, MiddlewareConfig, MiddlewareEvents, MiddlewareFunction, MiddlewareHealth, MiddlewareRegistration, RateLimitMiddlewareOptions, Result, SDKIntegrations, ValidationMiddlewareOptions, ValidationResult } from './types'; export { extractHeaderString, extractQueryString, isAuthResult, isAuthUser, isJsonObject, isJsonValue, isMiddlewareConfig, isValidationResult, isValidHeaderValue, validateJsonBody } from './types'; export { MiddlewareManager } from './middleware-manager'; export { CircuitBreaker, CircuitBreakerState, createResilientMiddleware, HealthMonitor, ResilientMiddlewareFactory, RetryHandler, TimeoutHandler } from './resilience'; export type { CircuitBreakerConfig, HealthCheckConfig, ResilienceConfig, RetryConfig, TimeoutConfig } from './resilience'; export { createOptimizedMiddleware, ObjectPool, OptimizedMiddlewareFactory, PerformanceMonitor, RequestBatcher, ResponseCache } from './performance'; export type { BatchOptions, CacheConfig, PerformanceConfig, PerformanceMetrics } from './performance'; export declare function createMiddlewareManager(integrations?: SDKIntegrations): MiddlewareManager; export declare const presets: { basic: () => MiddlewareManager; secure: (integrations: SDKIntegrations) => MiddlewareManager; api: (integrations: SDKIntegrations) => MiddlewareManager; production: (integrations: SDKIntegrations) => MiddlewareManager; }; export declare class MiddlewareChainBuilder { private manager; constructor(integrations?: SDKIntegrations); use(name: string, middleware: MiddlewareFunction | ErrorMiddlewareFunction): this; cors(options?: CorsMiddlewareOptions): this; auth(options?: AuthMiddlewareOptions): this; rateLimit(options?: RateLimitMiddlewareOptions): this; compression(options?: CompressionMiddlewareOptions): this; logging(options?: LoggingMiddlewareOptions): this; validation(schema: JsonValue, options?: ValidationMiddlewareOptions): this; build(): MiddlewareManager; } import type { Application as Express } from 'express'; import type { FastifyInstance } from 'fastify'; export declare function applyToExpress(app: Express, manager: MiddlewareManager): void; export declare function applyToFastify(fastify: FastifyInstance, manager: MiddlewareManager): Promise; export declare function createProductionMiddleware(integrations: SDKIntegrations): { manager: MiddlewareManager; resilience: ResilientMiddlewareFactory; performance: OptimizedMiddlewareFactory; }; declare const _default: { createMiddlewareManager: typeof createMiddlewareManager; presets: { basic: () => MiddlewareManager; secure: (integrations: SDKIntegrations) => MiddlewareManager; api: (integrations: SDKIntegrations) => MiddlewareManager; production: (integrations: SDKIntegrations) => MiddlewareManager; }; MiddlewareChainBuilder: typeof MiddlewareChainBuilder; applyToExpress: typeof applyToExpress; applyToFastify: typeof applyToFastify; createProductionMiddleware: typeof createProductionMiddleware; }; export default _default; //# sourceMappingURL=index.d.ts.map