import type { MdWasm } from '../wasm';
import type { ExportType } from '../enum';
import { Crypto } from '../crypto';
export declare abstract class Md<T extends MdWasm> extends Crypto {
    protected static getMd(): Md<MdWasm>;
    protected static sliceBlob(data: Blob, chunkSize?: number): Array<Blob>;
    static digestAsync(data: string | ArrayBuffer | Uint8Array, exportType?: ExportType): Promise<string | Uint8Array>;
    static digestBlobAsync(data: Blob, exportType?: ExportType, chunkSize?: number): Promise<string | Uint8Array>;
    protected _ctx?: T;
    protected abstract ensureContextAsync(): Promise<void>;
    updateAsync(data: string | ArrayBuffer | Uint8Array): Promise<void>;
    finalAsync(exportType?: ExportType): Promise<string | Uint8Array>;
}
