import { type Address, type Chain, type DecodeFunctionDataReturnType, type Hex, type PublicClient, type Transport } from "viem"; import type { ParsedCallArgs, RawTx } from "../../sdk/index.js"; import { BaseContract } from "../../sdk/index.js"; declare const abi: readonly [{ readonly type: "function"; readonly name: "activeProposals"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple[]"; readonly internalType: "struct TwoAdminProposal[]"; readonly components: readonly [{ readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "confirmedByAdmin"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "confirmedByTreasuryProxy"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "admin"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "cancelConfigure"; readonly inputs: readonly [{ readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "configure"; readonly inputs: readonly [{ readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "contractType"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "defaultSplit"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct Split"; readonly components: readonly [{ readonly name: "initialized"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "receivers"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "proportions"; readonly type: "uint16[]"; readonly internalType: "uint16[]"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "distribute"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getProposal"; readonly inputs: readonly [{ readonly name: "callDataHash"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct TwoAdminProposal"; readonly components: readonly [{ readonly name: "callData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "confirmedByAdmin"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "confirmedByTreasuryProxy"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "setDefaultSplit"; readonly inputs: readonly [{ readonly name: "receivers"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "proportions"; readonly type: "uint16[]"; readonly internalType: "uint16[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setTokenInsuranceAmount"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setTokenSplit"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "receivers"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "proportions"; readonly type: "uint16[]"; readonly internalType: "uint16[]"; }, { readonly name: "distribute"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "tokenInsuranceAmount"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "tokenSplits"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct Split"; readonly components: readonly [{ readonly name: "initialized"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "receivers"; readonly type: "address[]"; readonly internalType: "address[]"; }, { readonly name: "proportions"; readonly type: "uint16[]"; readonly internalType: "uint16[]"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "treasuryProxy"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "version"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "withdrawToken"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "DistributeToken"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "distributedAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetDefaultSplit"; readonly inputs: readonly [{ readonly name: "receivers"; readonly type: "address[]"; readonly indexed: false; readonly internalType: "address[]"; }, { readonly name: "proportions"; readonly type: "uint16[]"; readonly indexed: false; readonly internalType: "uint16[]"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetTokenInsuranceAmount"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetTokenSplit"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "receivers"; readonly type: "address[]"; readonly indexed: false; readonly internalType: "address[]"; }, { readonly name: "proportions"; readonly type: "uint16[]"; readonly indexed: false; readonly internalType: "uint16[]"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WithdrawToken"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "withdrawnAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "IncorrectConfigureSelectorException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OnlyAdminOrTreasuryProxyException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OnlySelfException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "PropotionSumIncorrectException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "SplitArraysDifferentLengthException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TreasurySplitterAsReceiverException"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "UndefinedSplitException"; readonly inputs: readonly []; }]; export declare class TreasurySplitterContract extends BaseContract { constructor(addr: Address, client: PublicClient); defaultSplit(): Promise<{ initialized: boolean; receivers: readonly `0x${string}`[]; proportions: readonly number[]; }>; activeProposals(): Promise; distribute(token: Address): RawTx; setDefaultSplitTx(receivers: Address[], proportions: number[]): RawTx; setTokenSplitTx(token: Address, receivers: Address[], proportions: number[], distributeBefore: boolean): RawTx; setTokenInsuranceAmountTx(token: Address, amount: bigint): RawTx; withdrawTokenTx(token: Address, to: Address, amount: bigint): RawTx; configureTx(callData: Hex): RawTx; cancelConfigureTx(callData: Hex): RawTx; private wrapConfigure; protected parseFunctionParams(params: DecodeFunctionDataReturnType): ParsedCallArgs; } export {};