import { Abi, Account, Address, Chain, PublicClient, Transport, WalletClient } from 'viem'; import { Erc20 } from '../../clients/contracts/Erc20'; import { OldERC721Wrapper } from '../../clients/contracts/OldERC721Wrapper'; import { PositionMigrator } from '../../clients/contracts/PositionMigrator'; import { PurchaseBundlerV1 } from '../../clients/contracts/PurchaseBundlerV1'; import { PurchaseBundlerV2 } from '../../clients/contracts/PurchaseBundlerV2'; import { erc721ABI } from '../../generated/blockchain/v5'; import { erc1155Abi } from '../../generated/blockchain/v6'; import { NftStandard } from '../../model'; import { AllV4 } from './AllV4'; import { AllV5 } from './AllV5'; import { AllV6 } from './AllV6'; import { BaseContract } from './BaseContract'; import { MslV4 } from './MslV4'; import { MslV5 } from './MslV5'; import { MslV6 } from './MslV6'; import { UserVaultV5 } from './UserVaultV5'; import { UserVaultV6 } from './UserVaultV6'; export type Wallet = WalletClient; export type GondiPublicClient = PublicClient; export interface KeyedClient { public: GondiPublicClient; wallet: Wallet; } type Erc721Or1155ABI = typeof erc721ABI | typeof erc1155Abi; type MslArgs = { walletClient: Wallet; address: Address; publicClient?: PublicClient; }; export declare class Contracts { publicClient: GondiPublicClient; walletClient: Wallet; constructor(publicClient: GondiPublicClient, walletClient: Wallet); _Msls: { '1': (args: MslArgs) => MslV4; '2': (args: MslArgs) => MslV5; '3': (args: MslArgs) => MslV6; '3.1': (args: MslArgs) => MslV6; '3.2': (args: MslArgs) => MslV6; }; _Alls: { '1': typeof AllV4; '2': typeof AllV5; '3': typeof AllV6; '3.1': typeof AllV6; '3.2': typeof AllV6; }; _PBs: { '2': typeof PurchaseBundlerV1; '3': typeof PurchaseBundlerV2; '3.1': typeof PurchaseBundlerV1; '3.1_PB_V2': typeof PurchaseBundlerV2; '3.2': typeof PurchaseBundlerV2; }; _UserVaults: { '2': typeof UserVaultV5; '3': typeof UserVaultV6; }; GenericContract(address: Address): BaseContract; Msl(address: Address): MslV6 | MslV5 | MslV4; /** * * @param contractAddress The contract address of the MSL contract * @returns The corresponding AuctionLoanLiquidator contract */ All(mslContractAddress: Address): AllV4 | AllV5 | AllV6; /** * @param address The contract address of the PurchaseBundler contract * @param mslContractAddress The contract address of the MSL contract * @returns The corresponding PurchaseBundler contract */ PurchaseBundler(address: Address | undefined, mslContractAddress: Address): PurchaseBundlerV1 | PurchaseBundlerV2; UserVault(address: Address): UserVaultV5 | UserVaultV6; Nft(address: Address, standard: NftStandard): BaseContract; ERC721(address: Address): BaseContract; OldERC721(address: Address): BaseContract; Cryptopunks(address: Address): BaseContract; Cryptopunks721(address: Address): BaseContract; ERC1155(address: Address): BaseContract; OldERC721Wrapper(address: Address): OldERC721Wrapper; ERC20(address: Address): Erc20; PositionMigrator(address: Address, msl: MslV6): PositionMigrator; } export {};