/// <reference types="node" />
import { Buffer } from 'buffer';
import { SshAlgorithm } from './sshAlgorithm';
import { Signer } from './hmacAlgorithm';
export declare abstract class KeyExchangeAlgorithm implements SshAlgorithm {
    readonly name: string;
    readonly keySizeInBits: number;
    readonly hashAlgorithmName: string;
    readonly hashDigestLength: number;
    protected constructor(name: string, keySizeInBits: number, hashAlgorithmName: string, hashDigestLength: number);
    abstract createKeyExchange(): KeyExchange;
}
export interface KeyExchange extends Signer {
    startKeyExchange(): Promise<Buffer>;
    decryptKeyExchange(exchangeValue: Buffer): Promise<Buffer>;
}
//# sourceMappingURL=keyExchangeAlgorithm.d.ts.map