import { Address } from 'viem'; import { iDepositBoxFactoryAbi } from './abis/viemAbiDepositBoxFactory'; import { BaseContractHelper } from './base-contract-helper'; import { MulticallOptions } from '../multicall/multicall'; export declare class DepositBoxFactoryContract extends BaseContractHelper { abi(): readonly [{ readonly inputs: readonly []; readonly name: "BEACON_PROXY_CODE_CONTRACT"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "DEPOSIT_BOX_BEACON"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "DEPOSIT_BOX_CODE_HASH"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "boxId"; readonly type: "uint32"; }]; readonly name: "computeDepositBox"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "box"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "deployed"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "boxId"; readonly type: "uint32"; }]; readonly name: "deployDepositBox"; readonly outputs: readonly [{ readonly internalType: "contract IPDepositBox"; readonly name: "box"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; computeDepositBox(root: Address, boxId: number, multicallOptions?: MulticallOptions): Promise<{ box: `0x${string}`; salt: `0x${string}`; deployed: boolean; }>; }