///
///
///
import { EventEmitter } from 'events';
import { ReadResult, WriteResult } from 'file-disk';
import { BlocksWithChecksum, SparseReadable } from '../sparse-stream/shared';
import { SparseWritable } from '../sparse-stream/shared';
import { CreateReadStreamOptions, CreateSparseReadStreamOptions, SourceDestination, Verifier } from './source-destination';
export declare class MultiDestinationError extends Error {
error: Error;
destination: SourceDestination;
constructor(error: Error, destination: SourceDestination);
}
export declare class MultiDestinationVerifier extends Verifier {
private verifiers;
private timer;
constructor(source: MultiDestination, checksumOrBlocks: string | BlocksWithChecksum[], size?: number);
private oneVerifierFinished;
private emitProgress;
run(): Promise;
}
export declare class MultiDestination extends SourceDestination {
readonly destinations: Set;
readonly erroredDestinations: Set;
constructor(destinations: SourceDestination[]);
getAlignment(): number | undefined;
destinationError(destination: SourceDestination, error: Error, stream?: EventEmitter): void;
get activeDestinations(): Set;
private can;
canRead(): Promise;
canWrite(): Promise;
canCreateReadStream(): Promise;
canCreateSparseReadStream(): Promise;
canCreateWriteStream(): Promise;
canCreateSparseWriteStream(): Promise;
read(buffer: Buffer, bufferOffset: number, length: number, sourceOffset: number): Promise;
write(buffer: Buffer, bufferOffset: number, length: number, fileOffset: number): Promise;
createReadStream(options: CreateReadStreamOptions): Promise;
createSparseReadStream(options: CreateSparseReadStreamOptions): Promise;
private createStream;
createWriteStream(...args: Parameters): Promise;
createSparseWriteStream(...args: Parameters): Promise;
createVerifier(checksumOrBlocks: string | BlocksWithChecksum[], size?: number): Verifier;
protected _open(): Promise;
protected _close(): Promise;
}