import type { CID } from 'multiformats';
import type { InputPair, Pair } from 'interface-blockstore';
export type BlockstoreAbortOptions = {
    signal?: AbortSignal;
};
export type BlockstoreInput = Uint8Array | Iterable<Uint8Array> | AsyncIterable<Uint8Array>;
export type BlockstoreSource<T> = Iterable<T> | AsyncIterable<T>;
type BlockstorePutDelegate = {
    put(key: CID, val: BlockstoreInput, options?: BlockstoreAbortOptions): Promise<CID>;
};
type BlockstoreGetDelegate = {
    get(key: CID, options?: BlockstoreAbortOptions): AsyncGenerator<Uint8Array>;
};
type BlockstoreDeleteDelegate = {
    delete(key: CID, options?: BlockstoreAbortOptions): Promise<void>;
};
export declare function collectBlockstoreBytes(input: BlockstoreInput): Promise<Uint8Array>;
export declare function yieldBlockstoreBytes(bytes: Uint8Array): AsyncGenerator<Uint8Array>;
export declare function putManyBlockstoreItems(blockstore: BlockstorePutDelegate, source: BlockstoreSource<InputPair>, options?: BlockstoreAbortOptions): AsyncGenerator<CID>;
export declare function getManyBlockstoreItems(blockstore: BlockstoreGetDelegate, source: BlockstoreSource<CID>, options?: BlockstoreAbortOptions): AsyncGenerator<Pair>;
export declare function deleteManyBlockstoreItems(blockstore: BlockstoreDeleteDelegate, source: BlockstoreSource<CID>, options?: BlockstoreAbortOptions): AsyncGenerator<CID>;
export {};
//# sourceMappingURL=blockstore-utils.d.ts.map