/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { AztecAddress, Fr, type GrumpkinScalar, PrivateLog } from '@aztec/circuits.js';
/**
 * Encrypted log payload with a tag used for retrieval by clients.
 */
export declare class EncryptedLogPayload {
    #private;
    /**
     * Note discovery tag.
     */
    readonly tag: Fr;
    /**
     * Address of a contract that emitted the log.
     */
    readonly contractAddress: AztecAddress;
    /**
     * Decrypted incoming body.
     */
    readonly incomingBodyPlaintext: Buffer;
    constructor(
    /**
     * Note discovery tag.
     */
    tag: Fr, 
    /**
     * Address of a contract that emitted the log.
     */
    contractAddress: AztecAddress, 
    /**
     * Decrypted incoming body.
     */
    incomingBodyPlaintext: Buffer);
    generatePayload(ephSk: GrumpkinScalar, recipient: AztecAddress, rand?: (len: number) => Buffer): PrivateLog;
    /**
     * Decrypts a ciphertext as an incoming log.
     *
     * This is executable by the recipient of the note, and uses the addressSecret to decrypt the payload.
     *
     * @param payload - The payload for the log
     * @param addressSecret - The address secret, used to decrypt the logs
     * @returns The decrypted log payload
     */
    static decryptAsIncoming(payload: PrivateLog, addressSecret: GrumpkinScalar): EncryptedLogPayload | undefined;
    /**
     * Similar to `decryptAsIncoming`. Except that this is for the payload coming from public, which has tightly packed
     * bytes that don't have 0 byte at the beginning of every 32 bytes.
     * And the incoming body is of variable size.
     */
    static decryptAsIncomingFromPublic(payload: Buffer, addressSecret: GrumpkinScalar): EncryptedLogPayload | undefined;
    private static isAcceptableError;
    toBuffer(): Buffer;
}
//# sourceMappingURL=encrypted_log_payload.d.ts.map