import "../common/hack.js"; import Irys from "../common/irys.js"; import type { CreateAndUploadOptions, IrysConfig, Network, UploadResponse } from "../common/types.js"; import type { NodeToken } from "./types.js"; import NodeUploader from "./upload.js"; import { NodeProvenance } from "./provenance.js"; export declare class BaseNodeIrys extends Irys { uploader: NodeUploader; tokenConfig: NodeToken; provenance: NodeProvenance; /** * Constructs a new Irys instance, as well as supporting subclasses * @param url - URL to the bundler * @param key - private key (in whatever form required) */ constructor({ url, network, config, getTokenConfig, }: { url?: string; network?: Network; config?: IrysConfig; getTokenConfig: (irys: BaseNodeIrys) => NodeToken; }); /** * Upload a file at the specified path to the bundler * @param path path to the file to upload * @returns bundler response */ uploadFile(path: string, opts?: CreateAndUploadOptions): Promise; /** * @param path - path to the folder to be uploaded * @param indexFile - path to the index file (i.e index.html) * @param batchSize - number of items to upload concurrently * @param interactivePreflight - whether to interactively prompt the user for confirmation of upload (CLI ONLY) * @param keepDeleted - Whether to keep previously uploaded (but now deleted) files in the manifest * @param logFunction - for handling logging from the uploader for UX * @param manifestTags - For allowing the caller to pass tags that will be added to the manifest transaction. * @returns */ uploadFolder(path: string, { batchSize, keepDeleted, indexFile, interactivePreflight, logFunction, manifestTags, itemOptions, }?: { batchSize?: number; keepDeleted?: boolean; indexFile?: string; interactivePreflight?: boolean; logFunction?: (log: string) => Promise; manifestTags?: { name: string; value: string; }[]; itemOptions?: CreateAndUploadOptions; }): Promise; } export default BaseNodeIrys;