/**
 * Response standardization utilities
 *
 * Provides consistent response formatting across all MCP tools while maintaining
 * backward compatibility through configuration-based format selection.
 */
import type { StandardSearchResponse, StandardPaginatedResponse, StandardStatisticalResponse, SearchMetadata, PaginationMetadata, StatisticalMetadata, ResponseCategory } from '../types.js';
/**
 * Response standardizer class providing unified formatting utilities
 */
export declare class ResponseStandardizer {
    /**
     * Convert data and metadata to standardized search response format
     *
     * @param data - Array of search results
     * @param metadata - Search operation metadata
     * @returns Standardized search response
     */
    static toSearchResponse<T>(data: T[], metadata: SearchMetadata): StandardSearchResponse<T>;
    /**
     * Convert data and metadata to standardized paginated response format
     *
     * @param data - Array of paginated results
     * @param metadata - Pagination operation metadata
     * @returns Standardized paginated response
     */
    static toPaginatedResponse<T>(data: T[], metadata: PaginationMetadata): StandardPaginatedResponse<T>;
    /**
     * Convert data and metadata to standardized statistical response format
     *
     * @param data - Array of statistical results
     * @param metadata - Statistical analysis metadata
     * @returns Standardized statistical response
     */
    static toStatisticalResponse<T>(data: T[], metadata: StatisticalMetadata): StandardStatisticalResponse<T>;
    /**
     * Determine query complexity based on query string analysis
     *
     * @param query - Query string to analyze
     * @returns Complexity level
     * @private
     */
    private static determineQueryComplexity;
}
/**
 * Utility functions for response format detection and conversion
 */
export declare class ResponseFormatUtils {
    /**
     * Detect the category of response based on content and tool name
     *
     * @param toolName - Name of the tool
     * @param responseData - Response data to analyze
     * @returns Detected response category
     */
    static detectResponseCategory(toolName: string, responseData: any): ResponseCategory;
    /**
     * Check if a response follows the standard format
     *
     * @param response - Response to check
     * @param category - Expected response category
     * @returns True if response follows standard format
     */
    static isStandardFormat(response: any, category: ResponseCategory): boolean;
}
//# sourceMappingURL=response-standardizer.d.ts.map