import type { IProtoMessage } from "@waku/interfaces";
import type { IdentityCredential } from "./identity.js";
export interface TestRLNCodecSetup {
    rlnInstance: any;
    credential: IdentityCredential;
    index: number;
    payload: Uint8Array;
}
export declare const TEST_CONSTANTS: {
    readonly contentTopic: "/test/1/waku-message/utf8";
    readonly emptyPubsubTopic: "";
    readonly defaultIndex: 0;
    readonly defaultPayload: Uint8Array<ArrayBuffer>;
};
export declare const EMPTY_PROTO_MESSAGE: {
    readonly timestamp: undefined;
    readonly contentTopic: "";
    readonly ephemeral: undefined;
    readonly meta: undefined;
    readonly rateLimitProof: undefined;
    readonly version: undefined;
};
/**
 * Creates a basic RLN setup for codec tests
 */
export declare function createTestRLNCodecSetup(): Promise<TestRLNCodecSetup>;
/**
 * Creates a meta setter function for testing
 */
export declare function createTestMetaSetter(): (msg: IProtoMessage & {
    meta: undefined;
}) => Uint8Array;
/**
 * Verifies common RLN message properties
 */
export declare function verifyRLNMessage(msg: any, payload: Uint8Array, contentTopic: string, version: number, rlnInstance: any): void;
