///
import { PrivateKey } from "@fidm/x509";
import { NamedCurveKeyPair } from "../cipher/namedCurve";
import { SessionType } from "../cipher/suites/abstract";
import AEADCipher from "../cipher/suites/aead";
import { DtlsRandom } from "../handshake/random";
import { DtlsPlaintext } from "../record/message/plaintext";
export declare class CipherContext {
sessionType?: SessionType;
localRandom?: DtlsRandom;
remoteRandom?: DtlsRandom;
cipherSuite?: number;
remoteCertificate?: Buffer;
remoteKeyPair?: Partial;
localKeyPair?: NamedCurveKeyPair;
masterSecret?: Buffer;
cipher?: AEADCipher;
namedCurve?: number;
localPrivateKey?: PrivateKey;
certPem?: string;
keyPem?: string;
encryptPacket(pkt: DtlsPlaintext): DtlsPlaintext;
decryptPacket(pkt: DtlsPlaintext): Buffer;
verifyData(buf: Buffer, isClient?: boolean): Buffer;
signatureData(data: Buffer, hash: string): Buffer;
}