import { MessageHeader } from "../../typings/tapi/messageHeader";
import { SaleToPOISecuredMessage } from "../../typings/clouddevice/saleToPOISecuredMessage";
import { EncryptionCredentialDetails } from "./encryptionCredentialDetails";
/**
 * Handles encryption, decryption, and integrity validation for Cloud Device API
 * SaleToPOI messages using AES-256-CBC and HMAC-SHA256.
 */
export declare class NexoSecurityManager {
    private readonly credentials;
    private derivedKey;
    constructor(credentials: EncryptionCredentialDetails);
    /**
     * Encrypts the SaleToPOI message using the provided message header and credential details.
     */
    encrypt(saleToPoiMessageJson: string, messageHeader: MessageHeader): SaleToPOISecuredMessage;
    /**
     * Decrypts a SaleToPOI secured message and returns the plaintext JSON string.
     */
    decrypt(secured: SaleToPOISecuredMessage): string;
    private validateKeyMetadata;
    private getDerivedKey;
}
