import { EventEmitter } from '../../upload-core/EventEmitter';
import type { Chunk } from './FileChunk';
export type ChunkSplitorEvents = 'chunks' | 'wholeHash' | 'drain';
export declare abstract class ChunkSplitor extends EventEmitter<ChunkSplitorEvents> {
    protected chunkSize: number;
    protected file: File;
    protected hash?: string;
    protected chunks: Chunk[];
    private handleChunkCount;
    private hasSplited;
    constructor(file: File, chunkSize?: number);
    split(): void;
    abstract calcHash(chunks: Chunk[], emitter: EventEmitter<'chunks'>): void;
    abstract dispose(): void;
}
