import { Address, GetContractReturnType, Hash, Hex, Log } from 'viem'; import { BaseClientMixin, BaseGasEstimatesMixin, BaseTransactions } from './base'; import { ls1155CloneAbi } from '../constants/abi/ls1155Clone'; import type { SplitsClientConfig, CreateLiquidSplitConfig, DistributeLiquidSplitTokenConfig, TransferLiquidSplitOwnershipConfig, CallData, TransactionConfig, TransactionFormat, ReadContractArgs, SplitsPublicClient } from '../types'; type LS1155Abi = typeof ls1155CloneAbi; declare class LiquidSplitTransactions extends BaseTransactions { constructor(transactionClientArgs: SplitsClientConfig & TransactionConfig); protected _createLiquidSplitTransaction({ recipients, distributorFeePercent, owner, chainId, transactionOverrides, }: CreateLiquidSplitConfig): Promise; protected _distributeTokenTransaction({ liquidSplitAddress, token, distributorAddress, chainId, transactionOverrides, }: DistributeLiquidSplitTokenConfig): Promise; protected _transferOwnershipTransaction({ liquidSplitAddress, newOwner, transactionOverrides, }: TransferLiquidSplitOwnershipConfig): Promise; private _requireOwner; protected _getLiquidSplitContract(liquidSplit: string, chainId: number): GetContractReturnType; } export declare class LiquidSplitClient extends LiquidSplitTransactions { readonly eventTopics: { [key: string]: Hex[]; }; readonly callData: LiquidSplitCallData; readonly estimateGas: LiquidSplitGasEstimates; constructor(clientArgs: SplitsClientConfig); _submitCreateLiquidSplitTransaction(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise<{ txHash: Hash; }>; createLiquidSplit(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise<{ liquidSplitAddress: Address; event: Log; }>; _submitDistributeTokenTransaction(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise<{ txHash: Hash; }>; distributeToken(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise<{ event: Log; }>; _submitTransferOwnershipTransaction(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise<{ txHash: Hash; }>; transferOwnership(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise<{ event: Log; }>; getDistributorFee({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ distributorFee: number; }>; getPayoutSplit({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ payoutSplitAddress: Address; }>; getOwner({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ owner: Address; }>; getUri({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ uri: string; }>; getScaledPercentBalanceOf({ liquidSplitAddress, address, chainId, }: ReadContractArgs & { liquidSplitAddress: string; address: string; }): Promise<{ scaledPercentBalance: number; }>; getNftImage({ liquidSplitAddress, }: { liquidSplitAddress: string; }): Promise<{ image: string; }>; } export interface LiquidSplitClient extends BaseClientMixin { } declare class LiquidSplitGasEstimates extends LiquidSplitTransactions { constructor(clientArgs: SplitsClientConfig); createLiquidSplit(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise; distributeToken(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise; transferOwnership(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise; } interface LiquidSplitGasEstimates extends BaseGasEstimatesMixin { } declare class LiquidSplitCallData extends LiquidSplitTransactions { constructor(clientArgs: SplitsClientConfig); createLiquidSplit(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise; distributeToken(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise; transferOwnership(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise; } export {};