/// <reference types="node" />
import { BinaryLike, KeyLike } from "crypto";
import { CryptographyOptions } from "./MutualKeyChallengeOptions";
import { SignedMessage } from "./Types/Messages";
import { GetServerKeyFunc } from "./Types/Functions";
export declare class MessageVerifier {
    private readonly options;
    private readonly key;
    constructor(key: GetServerKeyFunc | KeyLike, options: CryptographyOptions);
    decryptAndVerify(pubKey: KeyLike, data: SignedMessage): Promise<Buffer | null>;
    encryptAndSign(pubKey: KeyLike, data: Buffer): Promise<SignedMessage>;
    verify(pubKey: KeyLike, data: SignedMessage): Promise<boolean>;
    sign(data: Buffer): Promise<SignedMessage>;
    hash(data: BinaryLike): string;
    getNonce(): Buffer;
    private signOptions;
    private verifyOptions;
    private encryptOptions;
    private serverKey;
}
//# sourceMappingURL=MessageVerifier.d.ts.map