/// /// import type { readFile as ReadFileT } from "node:fs/promises"; import { Document } from "@langchain/core/documents"; import { BaseDocumentLoader } from "../base.js"; /** * Abstract class that extends the `BaseDocumentLoader` class. It * represents a document loader that loads documents from a buffer. The * `load()` method is implemented to read the buffer contents and metadata * based on the type of `filePathOrBlob`, and then calls the `parse()` * method to parse the buffer and return the documents. */ export declare abstract class BufferLoader extends BaseDocumentLoader { filePathOrBlob: string | Blob; constructor(filePathOrBlob: string | Blob); /** * Abstract method that needs to be implemented by subclasses. It is used * to parse the buffer and return the documents. * @param raw The buffer to be parsed. * @param metadata Metadata of the document. * @returns Promise that resolves with an array of `Document` objects. */ protected abstract parse(raw: Buffer, metadata: Document["metadata"]): Promise; /** * Method that reads the buffer contents and metadata based on the type of * `filePathOrBlob`, and then calls the `parse()` method to parse the * buffer and return the documents. * @returns Promise that resolves with an array of `Document` objects. */ load(): Promise; /** * Static method that imports the `readFile` function from the * `fs/promises` module in Node.js. It is used to dynamically import the * function when needed. If the import fails, it throws an error * indicating that the `fs/promises` module is not available in the * current environment. * @returns Promise that resolves with an object containing the `readFile` function. */ static imports(): Promise<{ readFile: typeof ReadFileT; }>; }