/**
 * Metadata Extractor Module
 * Extracts Open Graph and Twitter Card metadata from URLs
 */
import { ExtractedMetadata, SecurityOptions } from '../types';
/**
 * Get statistics about in-flight requests for monitoring/debugging
 * @returns Object containing in-flight request statistics
 */
export declare function getInflightRequestStats(): {
    count: number;
    keys: string[];
    maxLimit: number;
    utilizationPercent: number;
};
/**
 * Clear all in-flight requests (useful for testing or cleanup)
 * WARNING: This will cause pending requests to potentially duplicate work
 */
export declare function clearInflightRequests(): void;
/**
 * Test helper to access internal inflightRequests map
 * WARNING: Only for testing purposes
 */
export declare const __test_inflightRequests: Map<string, Promise<ExtractedMetadata>> | undefined;
/**
 * Extract metadata from a given URL
 * @param url - The URL to extract metadata from
 * @param securityOptions - Security configuration options
 * @returns Extracted metadata object
 */
export declare function extractMetadata(url: string, securityOptions?: SecurityOptions): Promise<ExtractedMetadata>;
/**
 * Fetch image from URL and return as buffer with size and type validation
 * @param imageUrl - URL of the image to fetch
 * @param securityOptions - Security configuration options
 * @param abortSignal - Optional abort signal for request cancellation
 * @returns Image buffer
 */
export declare function fetchImage(imageUrl: string, securityOptions?: SecurityOptions, abortSignal?: AbortSignal): Promise<Buffer>;
/**
 * Validate metadata to ensure required fields are present
 */
export declare function validateMetadata(metadata: ExtractedMetadata): boolean;
/**
 * Apply fallback values to incomplete metadata
 */
export declare function applyFallbacks(metadata: Partial<ExtractedMetadata>, url: string): ExtractedMetadata;
