import { Abi } from "../abi"; import { TokenTransfer } from "../core"; import { Address } from "../core/address"; import { CodeMetadata } from "../core/codeMetadata"; export declare type DeployMultisigContractInput = { quorum: number; board: Address[]; bytecode: Uint8Array; isUpgradeable?: boolean; isReadable?: boolean; isPayable?: boolean; isPayableBySmartContract?: boolean; gasLimit?: bigint; }; export declare type MultisigContractInput = { multisigContract: Address; gasLimit?: bigint; }; export declare type ProposeAddBoardMemberInput = MultisigContractInput & { boardMember: Address; }; export declare type ProposeAddProposerInput = MultisigContractInput & { proposer: Address; }; export declare type ProposeRemoveUserInput = MultisigContractInput & { userAddress: Address; }; export declare type ProposeChangeQuorumInput = MultisigContractInput & { newQuorum: number; }; export declare type ProposeTransferExecuteInput = MultisigContractInput & { to: Address; nativeTokenAmount: bigint; optGasLimit?: bigint; functionName?: string; functionArguments?: any[]; abi?: Abi; }; export declare type DepositExecuteInput = MultisigContractInput & { nativeTokenAmount: bigint; gasLimit?: bigint; tokenTransfers: TokenTransfer[]; }; export declare type ProposeTransferExecuteEsdtInput = MultisigContractInput & { to: Address; tokens: any[]; optGasLimit?: bigint; functionName: string; functionArguments: any[]; abi?: Abi; }; export declare type ProposeAsyncCallInput = MultisigContractInput & { multisigContract: Address; to: Address; nativeTransferAmount: bigint; tokenTransfers: TokenTransfer[]; functionName: string; functionArguments: any[]; optGasLimit?: bigint; abi?: Abi; }; export declare type ProposeContractDeployFromSourceInput = MultisigContractInput & { amount: bigint; source: Address; codeMetadata: CodeMetadata; arguments: any[]; abi?: Abi; }; export declare type ProposeContractUpgradeFromSourceInput = MultisigContractInput & { scAddress: Address; amount: bigint; source: Address; codeMetadata: CodeMetadata; arguments: any[]; abi?: Abi; }; export declare type ActionInput = MultisigContractInput & { actionId: number; }; export declare type GroupInput = MultisigContractInput & { groupId: number; }; export declare type UnsignForOutdatedBoardMembersInput = ActionInput & { outdatedBoardMembers: number[]; }; export declare type DiscardBatchInput = MultisigContractInput & { actionIds: number[]; }; export declare enum UserRoleEnum { None = "None", Proposer = "Proposer", BoardMember = "BoardMember" } export declare enum MultisigActionEnum { Nothing = "Nothing", AddBoardMember = "AddBoardMember", AddProposer = "AddProposer", RemoveUser = "RemoveUser", ChangeQuorum = "ChangeQuorum", SendTransferExecuteEgld = "SendTransferExecuteEgld", SendTransferExecuteEsdt = "SendTransferExecuteEsdt", SendAsyncCall = "SendAsyncCall", SCDeployFromSource = "SCDeployFromSource", SCUpgradeFromSource = "SCUpgradeFromSource" } export declare class MultisigAction { type: MultisigActionEnum; } export declare type FullMultisigAction = { actionId: number; groupId: number; signers: Address[]; actionData: MultisigAction; }; export declare class AddBoardMember extends MultisigAction { address: Address; constructor(address: Address); } export declare class AddProposer extends MultisigAction { address: Address; constructor(address: Address); } export declare class RemoveUser extends MultisigAction { type: MultisigActionEnum; address: Address; constructor(address: Address); } export declare class ChangeQuorum extends MultisigAction { quorum: number; constructor(quorum: number); } export declare class SendTransferExecuteEgld extends MultisigAction { receiver: Address; amount: bigint; optionalGasLimit: bigint; functionName: string; arguments: Uint8Array[]; constructor(data: any); } export declare class SendTransferExecuteEsdt extends MultisigAction { receiver: Address; tokens: TokenTransfer[]; optionalGasLimit: bigint; functionName: string; arguments: Uint8Array[]; constructor(data: any); } export declare class SendAsyncCall extends MultisigAction { receiver: Address; amount: bigint; optionalGasLimit: bigint; functionName: string; arguments: Uint8Array[]; constructor(data: any); } export declare class SCDeployFromSource extends MultisigAction { sourceContract: Address; amount: bigint; codeMetadata: CodeMetadata; arguments: Uint8Array[]; constructor(data: any); } export declare class SCUpgradeFromSource extends MultisigAction { sourceContract: Address; destinationContract: Address; amount: bigint; codeMetadata: CodeMetadata; arguments: Uint8Array[]; constructor(data: any); } export declare type CallActionData = { receiver: Address; amount: bigint; optionalGasLimit?: number | null; functionName: Uint8Array; arguments: Uint8Array[]; }; export declare type EsdtTokenPayment = { token_identifier: any; token_nonce: any; amount: any; };