import type { IRateLimitProof } from "@waku/interfaces";
declare class ProofMetadata {
    readonly nullifier: Uint8Array;
    readonly shareX: Uint8Array;
    readonly shareY: Uint8Array;
    readonly externalNullifier: Uint8Array;
    constructor(nullifier: Uint8Array, shareX: Uint8Array, shareY: Uint8Array, externalNullifier: Uint8Array);
}
export declare class Proof implements IRateLimitProof {
    readonly proof: Uint8Array;
    readonly merkleRoot: Uint8Array;
    readonly epoch: Uint8Array;
    readonly shareX: Uint8Array;
    readonly shareY: Uint8Array;
    readonly nullifier: Uint8Array;
    readonly rlnIdentifier: Uint8Array;
    constructor(proofBytes: Uint8Array);
    extractMetadata(): ProofMetadata;
}
export declare function proofToBytes(p: IRateLimitProof): Uint8Array;
export {};
