import { Address } from "viem"; export interface DataSourceParams { jb721Delegate?: { tierIdsToMint: bigint[]; }; } export interface PayParams { /** * Project id to pay. */ projectId: bigint; /** * Address of the project's terminal */ terminalAddress: Address | undefined; /** * Amount to pay in wei (18 decimals) */ amountWei: bigint; /** * A memo/note to attach to the payment. */ memo?: string; /** * Address to send any minted tokens to. Defaults to the connected wallet. */ beneficiaryAddress?: Address; /** * Minimum number of tokens to return to the beneficiaryAddress. Defaults to 0. */ minReturnedTokens?: bigint; /** * Whether to claim the tokens (send them to the beneficiaryAddress) or not. * Only applicable to projects with an ERC-20 project token. */ preferClaimedTokens?: boolean; /** * Arguments to pass to the datasource. * The pay `metadata` will be created from these arguments, if the given argments are intended for the current datasource. * * To mint NFTs: if `jb721Delegate` argument is passed, and the current datasource is a JB721Delegate, * then the pay `metadata` will be created to mint NFTs. */ jb721Delegate?: DataSourceParams["jb721Delegate"]; } /** * Initiate a transaction to pay a project's ETH payment terminal. */ export declare function usePayEthPaymentTerminal({ projectId, terminalAddress, amountWei, beneficiaryAddress, minReturnedTokens, preferClaimedTokens, memo, jb721Delegate, }: PayParams): { prepare: Pick, Error>, "error" | "data" | "fetchStatus" | "isError" | "isFetched" | "isFetchedAfterMount" | "isFetching" | "isLoading" | "isRefetching" | "isSuccess" | "refetch"> & { isIdle: boolean; status: "error" | "success" | "loading" | "idle"; internal: Pick, "dataUpdatedAt" | "errorUpdatedAt" | "failureCount" | "isLoadingError" | "isPaused" | "isPlaceholderData" | "isPreviousData" | "isRefetchError" | "isStale" | "remove">; } & { config: import("@wagmi/core").PrepareWriteContractResult; }; contractWrite: { data: import("@wagmi/core").WriteContractResult | undefined; error: Error | null; isError: boolean; isIdle: boolean; isLoading: boolean; isSuccess: boolean; reset: () => void; status: "error" | "success" | "loading" | "idle"; variables: ({ mode?: undefined; } & Partial, "args">, "address" | "abi" | "functionName">> & Omit, "args">, "address" | "abi" | "functionName"> & Partial<{ args?: readonly unknown[] | undefined; }> & { request?: undefined; }) | undefined; write: (() => void) | undefined; writeAsync: (() => Promise) | undefined; }; transaction: Pick, "error" | "data" | "fetchStatus" | "isError" | "isFetched" | "isFetchedAfterMount" | "isFetching" | "isLoading" | "isRefetching" | "isSuccess" | "refetch"> & { isIdle: boolean; status: "error" | "success" | "loading" | "idle"; internal: Pick; }; }; //# sourceMappingURL=usePayEthPaymentTerminal.d.ts.map