import { DecodedLogEntryEvent, DecodedLogEntry, DecodedTransactionReceipt } from "@joincivil/typescript-types"; import "rxjs/add/operator/distinctUntilChanged"; import { TransactionConfig } from "web3-core"; import { EthAddress } from "@joincivil/typescript-types"; import { EthApi } from "@joincivil/ethapi"; import { BaseContract } from "../../basecontract"; declare type BigNumber = string; export declare class MultiSigWalletContract extends BaseContract { static singletonTrusted(ethApi: EthApi): Promise; static atUntrusted(ethApi: EthApi, address: EthAddress): MultiSigWalletContract; static deployTrusted: { sendTransactionAsync(ethApi: EthApi, initialOwners: string[], initialRequired: string, options: TransactionConfig): Promise; estimateGasAsync(ethApi: EthApi, initialOwners: string[], initialRequired: string): Promise; }; owners: { callAsync(index_0: string): Promise; }; isOwner: { callAsync(index_0: string): Promise; }; confirmations: { callAsync(index_0: string, index_1: string): Promise; }; transactions: { callAsync(index_0: string): Promise<[string, string, string, boolean]>; }; transactionCount: { callAsync(): Promise; }; MAX_OWNER_COUNT: { callAsync(): Promise; }; required: { callAsync(): Promise; }; addOwner: { sendTransactionAsync(owner: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(owner: string, txData?: TransactionConfig | undefined): Promise; getRaw(owner: string, txData?: TransactionConfig | undefined): Promise; }; removeOwner: { sendTransactionAsync(owner: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(owner: string, txData?: TransactionConfig | undefined): Promise; getRaw(owner: string, txData?: TransactionConfig | undefined): Promise; }; replaceOwner: { sendTransactionAsync(owner: string, newOwner: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(owner: string, newOwner: string, txData?: TransactionConfig | undefined): Promise; getRaw(owner: string, newOwner: string, txData?: TransactionConfig | undefined): Promise; }; changeRequirement: { sendTransactionAsync(newRequired: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(newRequired: string, txData?: TransactionConfig | undefined): Promise; getRaw(newRequired: string, txData?: TransactionConfig | undefined): Promise; }; submitTransaction: { sendTransactionAsync(destination: string, value: string, data: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(destination: string, value: string, data: string, txData?: TransactionConfig | undefined): Promise; getRaw(destination: string, value: string, data: string, txData?: TransactionConfig | undefined): Promise; }; confirmTransaction: { sendTransactionAsync(transactionId: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(transactionId: string, txData?: TransactionConfig | undefined): Promise; getRaw(transactionId: string, txData?: TransactionConfig | undefined): Promise; }; revokeConfirmation: { sendTransactionAsync(transactionId: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(transactionId: string, txData?: TransactionConfig | undefined): Promise; getRaw(transactionId: string, txData?: TransactionConfig | undefined): Promise; }; executeTransaction: { sendTransactionAsync(transactionId: string, txData?: TransactionConfig | undefined): Promise; estimateGasAsync(transactionId: string, txData?: TransactionConfig | undefined): Promise; getRaw(transactionId: string, txData?: TransactionConfig | undefined): Promise; }; isConfirmed: { callAsync(transactionId: string): Promise; }; getConfirmationCount: { callAsync(transactionId: string): Promise; }; getTransactionCount: { callAsync(pending: boolean, executed: boolean): Promise; }; getOwners: { callAsync(): Promise; }; getConfirmations: { callAsync(transactionId: string): Promise; }; getTransactionIds: { callAsync(from: string, to: string, pending: boolean, executed: boolean): Promise; }; ConfirmationStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; RevocationStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; SubmissionStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; ExecutionStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; ExecutionFailureStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; DepositStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; OwnerAdditionStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; OwnerRemovalStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; RequirementChangeStream: (paramFilters?: import("../../utils/contracts").TypedEventFilter | undefined, filterObject?: import("../../utils/contracts").EventOptions | undefined) => import("rxjs").Observable>; private constructor(); } export declare namespace MultiSigWallet { enum Events { Confirmation = "Confirmation", Revocation = "Revocation", Submission = "Submission", Execution = "Execution", ExecutionFailure = "ExecutionFailure", Deposit = "Deposit", OwnerAddition = "OwnerAddition", OwnerRemoval = "OwnerRemoval", RequirementChange = "RequirementChange" } namespace Args { interface Confirmation { sender: string; transactionId: BigNumber; } interface Revocation { sender: string; transactionId: BigNumber; } interface Submission { transactionId: BigNumber; } interface Execution { transactionId: BigNumber; } interface ExecutionFailure { transactionId: BigNumber; } interface Deposit { sender: string; value: BigNumber; } interface OwnerAddition { owner: string; } interface OwnerRemoval { owner: string; } interface RequirementChange { required: BigNumber; } } namespace Logs { type Confirmation = DecodedLogEntry; type Revocation = DecodedLogEntry; type Submission = DecodedLogEntry; type Execution = DecodedLogEntry; type ExecutionFailure = DecodedLogEntry; type Deposit = DecodedLogEntry; type OwnerAddition = DecodedLogEntry; type OwnerRemoval = DecodedLogEntry; type RequirementChange = DecodedLogEntry; type All = Logs.Confirmation | Logs.Revocation | Logs.Submission | Logs.Execution | Logs.ExecutionFailure | Logs.Deposit | Logs.OwnerAddition | Logs.OwnerRemoval | Logs.RequirementChange; } namespace LogEvents { type Confirmation = DecodedLogEntryEvent; type Revocation = DecodedLogEntryEvent; type Submission = DecodedLogEntryEvent; type Execution = DecodedLogEntryEvent; type ExecutionFailure = DecodedLogEntryEvent; type Deposit = DecodedLogEntryEvent; type OwnerAddition = DecodedLogEntryEvent; type OwnerRemoval = DecodedLogEntryEvent; type RequirementChange = DecodedLogEntryEvent; type All = LogEvents.Confirmation | LogEvents.Revocation | LogEvents.Submission | LogEvents.Execution | LogEvents.ExecutionFailure | LogEvents.Deposit | LogEvents.OwnerAddition | LogEvents.OwnerRemoval | LogEvents.RequirementChange; } type Receipt = DecodedTransactionReceipt; type EventReceipt = DecodedTransactionReceipt; } export {};