import { ValidationMiddleware, ValidationResult } from './validation-middleware.js';
import { SanitizationMiddleware } from './sanitization-middleware.js';
import { ErrorHandler, ErrorContext, StandardError } from './error-handler.js';
import { ToolArguments } from '../types/index.js';
export interface MiddlewareResult {
    success: boolean;
    sanitizedArgs?: ToolArguments;
    error?: StandardError;
    requestId: string;
}
export declare class MiddlewareManager {
    private static instance;
    private constructor();
    static getInstance(): MiddlewareManager;
    processToolCall(toolName: string, arguments_: ToolArguments, userId?: string): Promise<MiddlewareResult>;
    processToolResponse(toolName: string, response: any, requestId: string): Promise<any>;
    executeToolWithMiddleware<T>(toolName: string, arguments_: ToolArguments, toolFunction: (sanitizedArgs: ToolArguments) => Promise<T>, userId?: string): Promise<T>;
    private validateInput;
    private sanitizeInput;
    private validateSanitizedInput;
    healthCheck(): Promise<{
        status: 'healthy' | 'degraded' | 'unhealthy';
        components: {
            validation: boolean;
            sanitization: boolean;
            errorHandler: boolean;
        };
        timestamp: Date;
    }>;
}
export { ValidationMiddleware, SanitizationMiddleware, ErrorHandler, ErrorContext, StandardError, ValidationResult };
export declare const middlewareManager: MiddlewareManager;
