import { MultiSig } from '@celo/abis/web3/MultiSig'; import { Address, CeloTransactionObject, CeloTxObject } from '@celo/connect'; import BigNumber from 'bignumber.js'; import { BaseWrapper } from './BaseWrapper'; export interface TransactionData { destination: string; value: BigNumber; data: string; executed: boolean; confirmations: string[]; } export interface TransactionDataWithOutConfirmations { destination: string; value: BigNumber; data: string; executed: boolean; } /** * Contract for handling multisig actions */ export declare class MultiSigWrapper extends BaseWrapper { /** * Allows an owner to submit and confirm a transaction. * If an unexecuted transaction matching `txObject` exists on the multisig, adds a confirmation to that tx ID. * Otherwise, submits the `txObject` to the multisig and add confirmation. * @param index The index of the pending withdrawal to withdraw. */ submitOrConfirmTransaction(destination: string, txObject: CeloTxObject, value?: string): Promise | CeloTransactionObject>; confirmTransaction(transactionId: number): Promise>; isOwner: (owner: Address) => Promise; getOwners: () => Promise; getRequired: () => Promise; getInternalRequired: () => Promise; totalTransactionCount: () => Promise; getTransactionCount: (pending: boolean, executed: boolean) => Promise; replaceOwner: (owner: Address, newOwner: Address) => CeloTransactionObject; getTransactionDataByContent(destination: string, txo: CeloTxObject, value?: BigNumber.Value): Promise<{ confirmations: string[]; destination: string; value: BigNumber; data: string; executed: boolean; index: number; } | undefined>; getTransaction(i: number): Promise; getTransaction(i: number, includeConfirmations: false): Promise; getConfirmations(txId: number): Promise; getTransactions(): Promise; } export type MultiSigWrapperType = MultiSigWrapper;