import { ethers } from "ethers";
import { IdentityCredential } from "./identity.js";
import { DecryptedCredentials, EncryptedCredentials } from "./keystore/types.js";
export type StartRLNOptions = {
    /**
     * If not set - will extract MetaMask account and get signer from it.
     */
    signer?: ethers.Signer;
    /**
     * If not set - will use default SEPOLIA_CONTRACT address.
     */
    address?: string;
    /**
     * Credentials to use for generating proofs and connecting to the contract and network.
     * If provided used for validating the network chainId and connecting to registry contract.
     */
    credentials?: EncryptedCredentials | DecryptedCredentials;
    /**
     * Rate limit for the member.
     */
    rateLimit?: number;
};
export type RegisterMembershipOptions = {
    signature: string;
} | {
    identity: IdentityCredential;
};
