import { DbWorker } from './workers/DbWorker.js';
import { DbServer } from './index.js';
export declare class IoWorker extends DbWorker {
    constructor(address: BigInt, db: DbServer);
    handleMsg(_buf: any): void;
    private cb;
    /**
     * Save given blocks and return errors and hashes in an array.
     * @returns [[4 bytes err], [16 bytes hash]][] with the same length as blocks.
     */
    saveBlocks(blocks: {
        filepath: string;
        typeId: number;
        start: number;
    }[]): Promise<Uint8Array>;
    loadBlock(filepath: string): Promise<void>;
    /**
     * Save a block and discard it from memory "atomically".
     * Note that this worker doesn't give any protection from other threads
     * accessing the block concurrently, and it must be coordinated in the
     * main thread.
     */
    unloadBlock(filepath: string, typeId: number, start: number): Promise<Uint8Array>;
}
