///
import { Buffer } from 'buffer';
import { Disposable } from 'vscode-jsonrpc';
import { SshAlgorithm } from './sshAlgorithm';
export declare abstract class HmacAlgorithm implements SshAlgorithm {
readonly name: string;
readonly algorithmName: string;
readonly keyLength: number;
readonly digestLength: number;
protected constructor(name: string, algorithmName: string, keyLength: number, digestLength: number);
abstract createSigner(key: Buffer): Promise;
abstract createVerifier(key: Buffer): Promise;
}
export interface HmacInfo {
readonly encryptThenMac?: boolean;
readonly authenticatedEncryption?: boolean;
}
export interface Signer extends Disposable {
readonly digestLength: number;
sign(data: Buffer): Promise;
}
export interface MessageSigner extends Signer, HmacInfo {
}
export interface Verifier extends Disposable {
readonly digestLength: number;
verify(data: Buffer, signature: Buffer): Promise;
}
export interface MessageVerifier extends Verifier, HmacInfo {
}
//# sourceMappingURL=hmacAlgorithm.d.ts.map