import { TransactionObject } from 'web3/eth/types'; import { IConnection } from './Connection'; import { IEnrichedTransactionParameters } from './Transaction'; export interface IAllowlistedAddress { address: string; ensName: string; } /** * Allowlist class for the wallet */ export declare class Allowlist { connection: IConnection; /** * initializes the class * @param connection The backend connection object. */ constructor(connection: IConnection); /** * Returns wheter or not an account is part of the allowlist * @param allowlistModuleInstanceAddress he address of the allowlist module proxy instance. * @param accountToCheck The addresses which should be checked * @returns True when the account is on the allowlist, false if not */ isAllowed(allowlistModuleInstanceAddress: string, accountToCheck: string): Promise; /** * Returns the transaction-parameters to add an account to the allowlist * @param allowlistModuleInstanceAddress The address of the allowlist module proxy instance. * @param multisigInstanceAddress The address of the multisig proxy instance. * @param accountToAdd The address which should added to the allowlist. * @returns the transaction-parameters to add an account to the allowlist */ addToAllowlist(allowlistModuleInstanceAddress: string, multisigInstanceAddress: string, accountToAdd: string): Promise; /** * Returns an array with the addresses of the allowlist * @param allowlistModuleInstanceAddress The address of the allowlist module proxy instance. * @returns The array with addresses of the allowlist */ getAllowlist(allowlistModuleInstanceAddress: string): Promise; /** * Returns the transaction parameters to remove an account from the allowlist * @param allowlistModuleInstanceAddress The address of the allowlist module proxy instance. * @param multisigInstance The address of the multisig proxy instance. * @param accountToRemove The address of the account which should be removed. * @returns The transaction parameters to remove an account from the allowlist */ removeFromAllowlist(allowlistModuleInstanceAddress: string, multisigInstance: string, accountToRemove: string): Promise; /** * Executes a transaction from (`connection.defaultAccountAddress`) to an account of the allowlist. * @param allowlistModuleInstanceAddress The address of the allowlist module proxy instance. * @param to The address which should be called. * @param value The value in wei which should be transferred. * @param data The encoded transaction data (default is '0x'). * @returns The transactionObject */ sendToAllowedAddress(allowlistModuleInstanceAddress: string, to: string, value: string, data?: string): Promise>; } export default Allowlist;