import type { Ed25519PublicKey, PublicSignKey, X25519Keypair, X25519PublicKey } from "@peerbit/crypto"; import type { DataMessage, ExpiresAtOptions, PriorityOptions, ResponsePriorityOptions, WithExtraSigners, WithMode, WithTo } from "@peerbit/stream-interface"; export declare const logger: import("@libp2p/interface").Logger; export type RPCRequestResponseOptions = { amount?: number; timeout?: number; isTrusted?: (publicKey: PublicSignKey) => Promise; onResponse?: (response: R, from?: PublicSignKey) => void; signal?: AbortSignal; }; export type RequestResponseInterceptor = { responseInterceptor?: (fn: (response: RPCResponse) => void) => void; }; export type RPCRequestOptions = RPCRequestResponseOptions & EncryptionOptions & WithMode & PriorityOptions & ResponsePriorityOptions & ExpiresAtOptions & WithExtraSigners & RequestResponseInterceptor; export type RPCSendOptions = EncryptionOptions & (WithMode | WithTo) & PriorityOptions & ResponsePriorityOptions & ExpiresAtOptions & WithExtraSigners & { signal?: AbortSignal; }; export type EncryptionOptions = { encryption?: { key: X25519Keypair; responders?: (X25519PublicKey | Ed25519PublicKey)[]; }; }; export type RPCResponse = { response: R; message: DataMessage; from?: PublicSignKey; }; //# sourceMappingURL=io.d.ts.map