import { Document } from "@langchain/core/documents"; import { BaseDocumentLoader } from "@langchain/core/document_loaders/base"; /** * Interface representing the parameters for the SerpAPI loader. It * includes properties such as the search query and the API key. */ interface SerpAPIParameters { /** * Search Query */ q: string; apiKey?: string; } /** * Class representing a document loader for loading search results from * the SerpAPI. It extends the BaseDocumentLoader class. * @example * ```typescript * const loader = new SerpAPILoader({ q: "{query}", apiKey: "{apiKey}" }); * const docs = await loader.load(); * ``` */ export declare class SerpAPILoader extends BaseDocumentLoader { private apiKey; private searchQuery; constructor(params: SerpAPIParameters); /** * Builds the URL for the SerpAPI search request. * @returns The URL for the search request. */ buildUrl(): string; /** * Extracts documents from the provided output. * @param output - The output to extract documents from. * @param responseType - The type of the response to extract documents from. * @returns An array of Documents. */ private extractDocuments; /** * Processes the response data from the SerpAPI search request and converts it into an array of Documents. * @param data - The response data from the SerpAPI search request. * @returns An array of Documents. */ processResponseData(data: Record): Document[]; /** * Fetches the data from the provided URL and returns it as a JSON object. * If an error occurs during the fetch operation, an exception is thrown with the error message. * @param url - The URL to fetch data from. * @returns A promise that resolves to the fetched data as a JSON object. * @throws An error if the fetch operation fails. */ private fetchData; /** * Loads the search results from the SerpAPI. * @returns An array of Documents representing the search results. * @throws An error if the search results could not be loaded. */ load(): Promise; } export {};