import type { BatchId, Data, Ky, ReferenceOrEns, UploadOptions } from '../types';
import { UploadResult } from '../types';
/**
 * Upload data to a Bee node
 *
 * @param ky              Ky instance
 * @param data            Data to be uploaded
 * @param postageBatchId  Postage BatchId that will be assigned to uploaded data
 * @param options         Additional options like tag, encryption, pinning
 */
export declare function upload(ky: Ky, data: string | Uint8Array, postageBatchId: BatchId, options?: UploadOptions): Promise<UploadResult>;
/**
 * Download data as a byte array
 *
 * @param ky
 * @param hash Bee content reference
 */
export declare function download(ky: Ky, hash: ReferenceOrEns): Promise<Data>;
/**
 * Download data as a readable stream
 *
 * @param ky
 * @param hash Bee content reference
 */
export declare function downloadReadable(ky: Ky, hash: ReferenceOrEns): Promise<ReadableStream<Uint8Array>>;
