import type { Uint8ArrayList } from "uint8arraylist"; import type { Codec } from "protons-runtime"; export interface FilterRequest { subscribe?: boolean; topic?: string; contentFilters: FilterRequest.ContentFilter[]; } export declare namespace FilterRequest { interface ContentFilter { contentTopic?: string; } namespace ContentFilter { const codec: () => Codec; const encode: (obj: ContentFilter) => Uint8Array; const decode: (buf: Uint8Array | Uint8ArrayList) => ContentFilter; } const codec: () => Codec; const encode: (obj: FilterRequest) => Uint8Array; const decode: (buf: Uint8Array | Uint8ArrayList) => FilterRequest; } export interface MessagePush { messages: WakuMessage[]; } export declare namespace MessagePush { const codec: () => Codec; const encode: (obj: MessagePush) => Uint8Array; const decode: (buf: Uint8Array | Uint8ArrayList) => MessagePush; } export interface FilterRPC { requestId?: string; request?: FilterRequest; push?: MessagePush; } export declare namespace FilterRPC { const codec: () => Codec; const encode: (obj: FilterRPC) => Uint8Array; const decode: (buf: Uint8Array | Uint8ArrayList) => FilterRPC; } export interface RateLimitProof { proof: Uint8Array; merkleRoot: Uint8Array; epoch: Uint8Array; shareX: Uint8Array; shareY: Uint8Array; nullifier: Uint8Array; rlnIdentifier: Uint8Array; } export declare namespace RateLimitProof { const codec: () => Codec; const encode: (obj: RateLimitProof) => Uint8Array; const decode: (buf: Uint8Array | Uint8ArrayList) => RateLimitProof; } export interface WakuMessage { payload?: Uint8Array; contentTopic?: string; version?: number; timestampDeprecated?: number; timestamp?: bigint; rateLimitProof?: RateLimitProof; } export declare namespace WakuMessage { const codec: () => Codec; const encode: (obj: WakuMessage) => Uint8Array; const decode: (buf: Uint8Array | Uint8ArrayList) => WakuMessage; }