import Header from './Header.js';
/**
 * Payload
 *
 * The payload section of the nanotdf contains the ciphertext that is protected by the policy defined in the Header.
 * The structure of the Payload is as follows:
 *
 * | Section               | Minimum Length (B) | Maximum Length (B) |
 * |-----------------------|--------------------|--------------------|
 * | Length                | 3                  | 3                  |
 * | IV                    | 3                  | 3                  |
 * | Ciphertext            | 0                  | 16777204           |
 * | Payload MAC (AuthTag) | 8                  | 32                 |
 */
export default class Payload {
    static LENGTH_LEN: number;
    static IV_LEN: number;
    static MIN_LENGTH: number;
    static MAX_NANO_TDF_ENCRYPT_PAYLOAD_SIZE: number;
    iv: Uint8Array;
    ciphertext: Uint8Array;
    authTag: Uint8Array;
    ciphertextWithAuthTag: Uint8Array;
    /**
     * Parse the payload
     *
     * Returns a new Payload object and the next offset
     *
     * @param buff Uint8Array
     */
    static parse(header: Header, buff: Uint8Array, legacyTDF?: boolean): {
        payload: Payload;
        offset: number;
    };
    constructor(iv: Uint8Array, ciphertext: Uint8Array, authTag: Uint8Array, ciphertextWithAuthTag?: Uint8Array);
    /**
     * Length
     *
     * @returns { number } Length of signature
     */
    get length(): number;
    /**
     * Copy the contents of the signature to buffer
     */
    copyToBuffer(buffer: Uint8Array): void;
}
//# sourceMappingURL=Payload.d.ts.map