import BigNumber from 'bignumber.js'; import { MultiSigProposalVoteActionEnum } from '../../../middleware/types'; import { Account, EventIdentifier, Signer, TxTag } from '../../../types'; export declare enum ProposalStatus { Invalid = "Invalid", Active = "Active", Expired = "Expired", Successful = "ExecutionSuccessful", Failed = "ExecutionFailed", Rejected = "Rejected" } /** * Represents JSON serializable data. Used for cases when the value can take on many types, like args for a MultiSig proposal. */ export type AnyJson = string | number | boolean | null | undefined | AnyJson[] | { [index: string]: AnyJson; }; export interface MultiSigProposalDetails { /** * The number of approvals this proposal has received */ approvalAmount: BigNumber; /** * The number of rejections this proposal has received */ rejectionAmount: BigNumber; /** * The current status of the proposal */ status: ProposalStatus; /** * An optional time in which this proposal will expire if a decision isn't reached by then */ expiry: Date | null; /** * Determines if the proposal will automatically be closed once a threshold of reject votes has been reached */ autoClose: boolean; /** * The tag for the transaction being proposed for the MultiSig to execute */ txTag: TxTag; /** * The arguments to be passed to the transaction for this proposal */ args: AnyJson; /** * Accounts of signing keys that have already voted on this proposal */ voted: Account[]; } export declare enum MultiSigProposalAction { Approve = "approve", Reject = "reject" } export type MultiSigProposalVote = EventIdentifier & { signer: Signer; action: MultiSigProposalVoteActionEnum; }; //# sourceMappingURL=types.d.ts.map