import { HttpClient } from "../http/HttpClient"; import { IComponentsClient, ComponentSearchRequest, ComponentSearchResponse, ComponentVersionRequest, ComponentVersionResponse, ComponentStatisticResponse } from "./IComponentsClient"; import { Component } from "../../types/common/types"; import { ClientConfig } from "../interfaces/ClientConfig"; /** * HTTP client for components-related API operations. * Provides methods to search components, get component versions, and retrieve component statistics. */ export declare class ComponentsHttpClient extends HttpClient implements IComponentsClient { /** * Creates a new ComponentsHttpClient instance. * @param clientConfig - Configuration for the HTTP client */ constructor(clientConfig: ClientConfig); /** * Searches for components based on specified criteria. * @param req - Search request with optional search terms, vendor, component, package, limit, and offset * @returns Promise resolving to search results containing matching components * @throws Error if the request fails */ searchComponents(req: ComponentSearchRequest): Promise; /** * Retrieves available versions for a specific component. * @param req - Request containing the component PURL and optional limit * @returns Promise resolving to component version information * @throws Error if the request fails */ getComponentVersions(req: ComponentVersionRequest): Promise; /** * Retrieves statistical information for the specified components. * @param components - Array of components to analyze for statistics * @returns Promise resolving to statistical information for each component * @throws Error if the request fails or components validation fails */ getComponentStatistics(components: Component[]): Promise; private adaptToComponentVersionResponse; }