/**
 * Processes search results based on output parameter specifications
 */
import { EntityType, OutputMode } from '../types/search-types.js';
export declare class OutputProcessor {
    private entityMappings;
    /**
     * Process search results based on output specification
     */
    processOutput(data: any[], entityType: EntityType, output: string[] | OutputMode): any[];
    /**
     * Apply summary output mode
     */
    private applySummaryOutput;
    /**
     * Apply field selection to data
     */
    private applyFieldSelection;
    /**
     * Extract specific fields from an object, supporting dot notation
     */
    private extractFields;
    /**
     * Get nested value using dot notation (e.g., "owner.email")
     */
    private getNestedValue;
    /**
     * Set nested value using dot notation
     */
    private setNestedValue;
    /**
     * Check if field exists in data structure
     */
    isFieldAvailable(obj: any, field: string): boolean;
    /**
     * Get all available fields in an object (for debugging/validation)
     */
    getAvailableFields(obj: any, prefix?: string): string[];
    /**
     * Validate that requested fields are available in the data
     */
    validateFieldsAvailability(data: any[], fields: string[]): {
        availableFields: string[];
        missingFields: string[];
    };
}
