import { ApolloClient, NormalizedCacheObject } from '@apollo/client'; import { getSdkApollo } from '../../clients/api/sdk'; import { Wallet } from '../../clients/contracts'; import { BnplOrderInput, BulkNftOrdersInput, CollectionOrderInput, CollectionSignedOfferInput, DealInput, ListListingsQueryVariables, ListLoansQueryVariables, ListOffersQueryVariables, LoanOfferPublicationInput, NftOrderInput, NftSetOrderInput, RenegotiationOfferInput, SingleNftOfferInput, SingleNftOrderInput, SingleNftSignedOfferInput, TraitOrderInput, TraitSignedOfferInput } from '../../generated/graphql'; import { OnStepChange } from '../../gondi'; import { RenegotiationOffer } from '../../model'; export type Props = { apiClient?: ApolloClient; wallet: Wallet; onStepChange?: OnStepChange; }; /** A bid or listing `publishOrder` accepts: one NFT, a collection, some traits or a set of NFTs. */ export type OrderInput = SingleNftOrderInput | CollectionOrderInput | TraitOrderInput | NftSetOrderInput; export declare const apiDomain: () => string; export declare const lendingApiDomain: () => string; export declare class Api { api: ReturnType; getSaleCalldata: (variables: import("../../generated/graphql").Exact<{ orderId: import("../../generated/graphql").Scalars["Int64"]; nftId: import("../../generated/graphql").Scalars["Int"]; taker: import("../../generated/graphql").Scalars["Address"]; }>, options?: {} | undefined) => Promise; generateSingleNftOfferHash: (variables: import("../../generated/graphql").Exact<{ offerInput: SingleNftOfferInput; }>, options?: {} | undefined) => Promise; generateCollectionOfferHash: (variables: import("../../generated/graphql").Exact<{ offerInput: import("../../generated/graphql").CollectionOfferInput; }>, options?: {} | undefined) => Promise; generateTraitOfferHash: (variables: import("../../generated/graphql").Exact<{ offerInput: import("../../generated/graphql").TraitOfferInput; }>, options?: {} | undefined) => Promise; generateRenegotiationOfferHash: (variables: import("../../generated/graphql").Exact<{ renegotiationInput: RenegotiationOfferInput; }>, options?: {} | undefined) => Promise; nftIdBySlugTokenId: (variables: import("../../generated/graphql").Exact<{ slug: import("../../generated/graphql").Scalars["String"]; tokenId: import("../../generated/graphql").Scalars["BigInt"]; }>, options?: {} | undefined) => Promise; nftIdByContractAddressAndTokenId: (variables: import("../../generated/graphql").Exact<{ contractAddress: import("../../generated/graphql").Scalars["Address"]; tokenId: import("../../generated/graphql").Scalars["BigInt"]; }>, options?: {} | undefined) => Promise; nftFlaggedByContractAddressAndTokenId: (variables: import("../../generated/graphql").Exact<{ contractAddress: import("../../generated/graphql").Scalars["Address"]; tokenId: import("../../generated/graphql").Scalars["BigInt"]; }>, options?: {} | undefined) => Promise; collections: (variables: import("../../generated/graphql").Exact<{ currency: import("../../generated/graphql").Scalars["Address"]; collections?: import("../../generated/graphql").InputMaybe | import("../../generated/graphql").Scalars["Int"]>; standards?: import("../../generated/graphql").InputMaybe | import("../../generated/graphql").TokenStandardType>; after?: import("../../generated/graphql").InputMaybe; }>, options?: {} | undefined) => Promise; collectionIdBySlug: (variables: import("../../generated/graphql").Exact<{ slug: import("../../generated/graphql").Scalars["String"]; }>, options?: {} | undefined) => Promise; collectionsIdByContractAddress: (variables: import("../../generated/graphql").Exact<{ contractAddress: import("../../generated/graphql").Scalars["Address"]; }>, options?: {} | undefined) => Promise; collectionByContractAddress: (variables: import("../../generated/graphql").Exact<{ contractAddress: import("../../generated/graphql").Scalars["Address"]; }>, options?: {} | undefined) => Promise; listNft: (variables: import("../../generated/graphql").Exact<{ nftId: import("../../generated/graphql").Scalars["Int"]; }>, options?: {} | undefined) => Promise; unlistNft: (variables: import("../../generated/graphql").Exact<{ nftId: import("../../generated/graphql").Scalars["Int"]; }>, options?: {} | undefined) => Promise; ownedNfts: (variables?: import("../../generated/graphql").Exact<{ after?: import("../../generated/graphql").InputMaybe; includeInLoans?: import("../../generated/graphql").InputMaybe; includeInStash?: import("../../generated/graphql").InputMaybe; standards?: import("../../generated/graphql").InputMaybe | import("../../generated/graphql").TokenStandardType>; }> | undefined, options?: {} | undefined) => Promise; hideOffer: (variables: import("../../generated/graphql").Exact<{ contract: import("../../generated/graphql").Scalars["Address"]; id: import("../../generated/graphql").Scalars["String"]; }>, options?: {} | undefined) => Promise; hideOffers: (variables: import("../../generated/graphql").Exact<{ contract: import("../../generated/graphql").Scalars["Address"]; ids: Array | import("../../generated/graphql").Scalars["String"]; }>, options?: {} | undefined) => Promise; hideRenegotiationOffer: (variables: import("../../generated/graphql").Exact<{ id: import("../../generated/graphql").Scalars["String"]; contractAddress: import("../../generated/graphql").Scalars["Address"]; }>, options?: {} | undefined) => Promise; unhideOffer: (variables: import("../../generated/graphql").Exact<{ contract: import("../../generated/graphql").Scalars["Address"]; id: import("../../generated/graphql").Scalars["String"]; }>, options?: {} | undefined) => Promise; unhideRenegotiationOffer: (variables: import("../../generated/graphql").Exact<{ id: import("../../generated/graphql").Scalars["String"]; contractAddress: import("../../generated/graphql").Scalars["Address"]; }>, options?: {} | undefined) => Promise; hideOrder: (variables: import("../../generated/graphql").Exact<{ id: import("../../generated/graphql").Scalars["Int64"]; }>, options?: {} | undefined) => Promise; showOrder: (variables: import("../../generated/graphql").Exact<{ id: import("../../generated/graphql").Scalars["Int64"]; }>, options?: {} | undefined) => Promise; cancelTradeOrders: (variables: import("../../generated/graphql").Exact<{ orderIds: Array | import("../../generated/graphql").Scalars["Int64"]; }>, options?: {} | undefined) => Promise; getCancelOrdersCalldata: (variables: import("../../generated/graphql").Exact<{ maker: import("../../generated/graphql").Scalars["Address"]; orderIds: Array | import("../../generated/graphql").Scalars["Int64"]; }>, options?: {} | undefined) => Promise; collectionStepsById: (variables: import("../../generated/graphql").Exact<{ collectionId: import("../../generated/graphql").Scalars["Int"]; }>, options?: {} | undefined) => Promise; constructor({ apiClient, wallet, onStepChange }: Props); /** Check competition before asking the wallet to sign; saving rechecks atomically. */ previewSingleNftPublication(offerInput: SingleNftOfferInput, publication: LoanOfferPublicationInput): Promise<{ __typename?: "LoanOfferCompetitionPreview"; complete: boolean; qualifies: boolean; reason?: string | null; replacementIds: Array; references: Array<{ __typename?: "LoanOfferCompetitionReference"; optionId: string; sourceIds: Array; requiredNetPrincipal: bigint; maximumEaprNumerator: bigint; maximumEaprDenominator: bigint; }>; }>; previewRenegotiationPublication(renegotiationInput: RenegotiationOfferInput, publication: LoanOfferPublicationInput): Promise<{ __typename?: "LoanOfferCompetitionPreview"; complete: boolean; qualifies: boolean; reason?: string | null; replacementIds: Array; references: Array<{ __typename?: "LoanOfferCompetitionReference"; optionId: string; sourceIds: Array; requiredNetPrincipal: bigint; maximumEaprNumerator: bigint; maximumEaprDenominator: bigint; }>; }>; saveSingleNftOffer(offerInput: SingleNftSignedOfferInput, publication?: LoanOfferPublicationInput): Promise<{ aprBps: import("../../generated/graphql").Scalars["BigInt"]; borrowerAddress: import("../../generated/graphql").Scalars["Address"]; capacity: import("../../generated/graphql").Scalars["BigInt"]; contractAddress: import("../../generated/graphql").Scalars["Address"]; duration: import("../../generated/graphql").Scalars["BigInt"]; expirationTime: import("../../generated/graphql").Scalars["BigInt"]; fee: import("../../generated/graphql").Scalars["BigInt"]; lenderAddress: import("../../generated/graphql").Scalars["Address"]; lenderRefinanceDisabled?: import("../../generated/graphql").Scalars["Boolean"]; maxSeniorRepayment?: import("../../generated/graphql").InputMaybe; maxTrancheFloor?: import("../../generated/graphql").InputMaybe; nftId: import("../../generated/graphql").Scalars["Int"]; offerHash: import("../../generated/graphql").Scalars["Hash"]; offerId: import("../../generated/graphql").Scalars["BigInt"]; offerValidators: Array; principalAddress: import("../../generated/graphql").Scalars["Address"]; principalAmount: import("../../generated/graphql").Scalars["BigInt"]; requiresLiquidation?: import("../../generated/graphql").InputMaybe; signature: import("../../generated/graphql").Scalars["Signature"]; signerAddress?: import("../../generated/graphql").InputMaybe; id: string; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; }>; publishOrder(orderInput: OrderInput): Promise<{ __typename?: "MultipleTraitOrder"; id: string; status: string; signature: import("viem").Hex; marketPlaceAddress: import("viem").Address; } | { __typename?: "SignatureRequest"; key: string; typedData: { __typename?: "TypedData"; types: object; primaryType: string; domain: object; message: object; }; } | { __typename?: "TraitOrder"; id: string; status: string; signature: import("viem").Hex; marketPlaceAddress: import("viem").Address; } | { __typename?: "SingleNFTOrder"; id: string; status: string; signature: import("viem").Hex; marketPlaceAddress: import("viem").Address; } | { __typename?: "SetBidOrder"; id: string; status: string; signature: import("viem").Hex; marketPlaceAddress: import("viem").Address; } | { __typename?: "CollectionOrder"; id: string; status: string; signature: import("viem").Hex; marketPlaceAddress: import("viem").Address; }>; publishDeal(dealInput: DealInput): Promise<{ __typename?: "Deal"; id: string; status: string; signature?: import("viem").Hex | null; } | { __typename?: "SignatureRequest"; key: string; typedData: { __typename?: "TypedData"; types: object; primaryType: string; domain: object; message: object; }; }>; publishSellAndRepayOrder(orderInput: NftOrderInput): Promise<{ __typename?: "ExtraSeaportData"; extraData: import("viem").Hex; criteriaProof?: Array | null; } | { __typename?: "SellAndRepayOrder"; id: string; status: string; signature: import("viem").Hex; repaymentCalldata: import("viem").Hex; marketPlaceAddress: import("viem").Address; } | { __typename?: "SignatureRequest"; key: string; typedData: { __typename?: "TypedData"; types: object; primaryType: string; domain: object; message: object; }; }>; publishBuyNowPayLaterOrder(orderInput: BnplOrderInput): Promise<{ __typename?: "BuyNowPayLaterOrder"; id: string; status: string; signature: import("viem").Hex; emitCalldata: import("viem").Hex; marketPlaceAddress: import("viem").Address; price: bigint; currencyAddress: import("viem").Address; } | { __typename?: "ExtraSeaportData"; extraData: import("viem").Hex; } | { __typename?: "SignatureRequest"; key: string; typedData: { __typename?: "TypedData"; types: object; primaryType: string; domain: object; message: object; }; }>; publishBulkOrders(bulkInput: BulkNftOrdersInput): Promise<{ __typename?: "BulkNFTOrdersResult"; orders: Array<{ __typename?: "SingleNFTOrder"; id: string; price: bigint; fees: bigint; currencyAddress: import("viem").Address; marketPlace: string; status: string; startTime: Date; expiration: Date; maker: import("viem").Address; isAsk: boolean; nonce: bigint; taker: import("viem").Address; signature: import("viem").Hex; marketPlaceAddress: import("viem").Address; evmOrder?: object | null; nft: { __typename?: "NFT"; id: string; }; }>; } | { __typename?: "SignatureRequest"; key: string; typedData: { __typename?: "TypedData"; types: object; primaryType: string; domain: object; message: object; }; }>; saveCollectionOffer(offerInput: CollectionSignedOfferInput, publication?: LoanOfferPublicationInput): Promise<{ aprBps: import("../../generated/graphql").Scalars["BigInt"]; borrowerAddress: import("../../generated/graphql").Scalars["Address"]; capacity: import("../../generated/graphql").Scalars["BigInt"]; collectionId: import("../../generated/graphql").Scalars["Int"]; contractAddress: import("../../generated/graphql").Scalars["Address"]; duration: import("../../generated/graphql").Scalars["BigInt"]; expirationTime: import("../../generated/graphql").Scalars["BigInt"]; fee: import("../../generated/graphql").Scalars["BigInt"]; lenderAddress: import("../../generated/graphql").Scalars["Address"]; lenderRefinanceDisabled?: import("../../generated/graphql").Scalars["Boolean"]; maxSeniorRepayment?: import("../../generated/graphql").InputMaybe; maxTrancheFloor?: import("../../generated/graphql").InputMaybe; offerHash: import("../../generated/graphql").Scalars["Hash"]; offerId: import("../../generated/graphql").Scalars["BigInt"]; offerValidators: Array; principalAddress: import("../../generated/graphql").Scalars["Address"]; principalAmount: import("../../generated/graphql").Scalars["BigInt"]; requiresLiquidation?: import("../../generated/graphql").InputMaybe; signature: import("../../generated/graphql").Scalars["Signature"]; signerAddress?: import("../../generated/graphql").InputMaybe; id: string; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; }>; saveTraitOffer(offerInput: TraitSignedOfferInput): Promise<{ aprBps: import("../../generated/graphql").Scalars["BigInt"]; borrowerAddress: import("../../generated/graphql").Scalars["Address"]; capacity: import("../../generated/graphql").Scalars["BigInt"]; contractAddress: import("../../generated/graphql").Scalars["Address"]; duration: import("../../generated/graphql").Scalars["BigInt"]; expirationTime: import("../../generated/graphql").Scalars["BigInt"]; fee: import("../../generated/graphql").Scalars["BigInt"]; lenderAddress: import("../../generated/graphql").Scalars["Address"]; lenderRefinanceDisabled?: import("../../generated/graphql").Scalars["Boolean"]; maxSeniorRepayment?: import("../../generated/graphql").InputMaybe; maxTrancheFloor?: import("../../generated/graphql").InputMaybe; offerHash: import("../../generated/graphql").Scalars["Hash"]; offerId: import("../../generated/graphql").Scalars["BigInt"]; offerValidators: Array; principalAddress: import("../../generated/graphql").Scalars["Address"]; principalAmount: import("../../generated/graphql").Scalars["BigInt"]; requiresLiquidation?: import("../../generated/graphql").InputMaybe; signature: import("../../generated/graphql").Scalars["Signature"]; signerAddress?: import("../../generated/graphql").InputMaybe; traitIds: Array; id: string; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; }>; saveRefinanceOffer(renegotiation: RenegotiationOffer, fallbackOffer?: SingleNftSignedOfferInput, publication?: LoanOfferPublicationInput): Promise<{ id: string; loanId: import("../../generated/graphql").Scalars["String"]; duration: import("../../generated/graphql").Scalars["BigInt"]; principalAmount: import("../../generated/graphql").Scalars["BigInt"]; aprBps: import("../../generated/graphql").Scalars["BigInt"]; renegotiationId: import("../../generated/graphql").Scalars["BigInt"]; expirationTime: import("../../generated/graphql").Scalars["BigInt"]; targetPrincipal?: import("../../generated/graphql").InputMaybe> | undefined; requiresLiquidation?: import("../../generated/graphql").InputMaybe | undefined; strictImprovement?: import("../../generated/graphql").InputMaybe | undefined; trancheIndex?: import("../../generated/graphql").InputMaybe> | undefined; lenderAddress: import("../../generated/graphql").Scalars["Address"]; signerAddress?: import("../../generated/graphql").InputMaybe | undefined; offerHash: import("../../generated/graphql").Scalars["Hash"]; feeAmount: import("../../generated/graphql").Scalars["BigInt"]; isAddNewTranche?: import("../../generated/graphql").InputMaybe | undefined; private?: import("../../generated/graphql").Scalars["Boolean"] | undefined; signature: import("../../blockchain").Signature; }>; listOffers(props: ListOffersQueryVariables): Promise<{ offers: ({ type: "CollectionOffer" | "SetOffer" | "SingleNFTOffer" | "TraitOffer" | undefined; lender: `0x${string}` | null | undefined; borrower: `0x${string}` | null | undefined; signer: `0x${string}` | null | undefined; offerValidators: { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[]; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; id: string; offerId: bigint; lenderAddress?: import("viem").Address | null; borrowerAddress?: import("viem").Address | null; signerAddress?: import("viem").Address | null; contractAddress: import("viem").Address; requiresLiquidation?: boolean | null; principalAddress: import("viem").Address; principalAmount: bigint; aprBps: bigint; fee: bigint; capacity: bigint; expirationTime: bigint; duration: bigint; status: string; offerHash?: import("viem").Hash | null; signature?: import("viem").Hex | null; createdDate?: Date | null; repayment: bigint; hidden?: boolean | null; maxSeniorRepayment: bigint; lenderRefinanceDisabled: boolean; collection: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; }; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; validators: Array<{ __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }>; } | { type: "CollectionOffer" | "SetOffer" | "SingleNFTOffer" | "TraitOffer" | undefined; lender: `0x${string}` | null | undefined; borrower: `0x${string}` | null | undefined; signer: `0x${string}` | null | undefined; offerValidators: { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[]; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; id: string; offerId: bigint; lenderAddress?: import("viem").Address | null; borrowerAddress?: import("viem").Address | null; signerAddress?: import("viem").Address | null; contractAddress: import("viem").Address; requiresLiquidation?: boolean | null; principalAddress: import("viem").Address; principalAmount: bigint; aprBps: bigint; fee: bigint; capacity: bigint; expirationTime: bigint; duration: bigint; status: string; offerHash?: import("viem").Hash | null; signature?: import("viem").Hex | null; createdDate?: Date | null; repayment: bigint; hidden?: boolean | null; maxSeniorRepayment: bigint; lenderRefinanceDisabled: boolean; nft: { __typename?: "NFT"; id: string; tokenId: bigint; collection?: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; } | null; }; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; validators: Array<{ __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }>; } | { type: "CollectionOffer" | "SetOffer" | "SingleNFTOffer" | "TraitOffer" | undefined; lender: `0x${string}` | null | undefined; borrower: `0x${string}` | null | undefined; signer: `0x${string}` | null | undefined; offerValidators: { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[]; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; id: string; offerId: bigint; lenderAddress?: import("viem").Address | null; borrowerAddress?: import("viem").Address | null; signerAddress?: import("viem").Address | null; contractAddress: import("viem").Address; requiresLiquidation?: boolean | null; principalAddress: import("viem").Address; principalAmount: bigint; aprBps: bigint; fee: bigint; capacity: bigint; expirationTime: bigint; duration: bigint; status: string; offerHash?: import("viem").Hash | null; signature?: import("viem").Hex | null; createdDate?: Date | null; repayment: bigint; hidden?: boolean | null; maxSeniorRepayment: bigint; lenderRefinanceDisabled: boolean; collection: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; }; traits: Array<{ __typename?: "Trait"; id: string; type: string; value: string; }>; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; validators: Array<{ __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }>; })[]; hasNextPage: true; cursor: string; } | { offers: ({ type: "CollectionOffer" | "SetOffer" | "SingleNFTOffer" | "TraitOffer" | undefined; lender: `0x${string}` | null | undefined; borrower: `0x${string}` | null | undefined; signer: `0x${string}` | null | undefined; offerValidators: { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[]; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; id: string; offerId: bigint; lenderAddress?: import("viem").Address | null; borrowerAddress?: import("viem").Address | null; signerAddress?: import("viem").Address | null; contractAddress: import("viem").Address; requiresLiquidation?: boolean | null; principalAddress: import("viem").Address; principalAmount: bigint; aprBps: bigint; fee: bigint; capacity: bigint; expirationTime: bigint; duration: bigint; status: string; offerHash?: import("viem").Hash | null; signature?: import("viem").Hex | null; createdDate?: Date | null; repayment: bigint; hidden?: boolean | null; maxSeniorRepayment: bigint; lenderRefinanceDisabled: boolean; collection: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; }; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; validators: Array<{ __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }>; } | { type: "CollectionOffer" | "SetOffer" | "SingleNFTOffer" | "TraitOffer" | undefined; lender: `0x${string}` | null | undefined; borrower: `0x${string}` | null | undefined; signer: `0x${string}` | null | undefined; offerValidators: { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[]; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; id: string; offerId: bigint; lenderAddress?: import("viem").Address | null; borrowerAddress?: import("viem").Address | null; signerAddress?: import("viem").Address | null; contractAddress: import("viem").Address; requiresLiquidation?: boolean | null; principalAddress: import("viem").Address; principalAmount: bigint; aprBps: bigint; fee: bigint; capacity: bigint; expirationTime: bigint; duration: bigint; status: string; offerHash?: import("viem").Hash | null; signature?: import("viem").Hex | null; createdDate?: Date | null; repayment: bigint; hidden?: boolean | null; maxSeniorRepayment: bigint; lenderRefinanceDisabled: boolean; nft: { __typename?: "NFT"; id: string; tokenId: bigint; collection?: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; } | null; }; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; validators: Array<{ __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }>; } | { type: "CollectionOffer" | "SetOffer" | "SingleNFTOffer" | "TraitOffer" | undefined; lender: `0x${string}` | null | undefined; borrower: `0x${string}` | null | undefined; signer: `0x${string}` | null | undefined; offerValidators: { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[] | { __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }[]; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; id: string; offerId: bigint; lenderAddress?: import("viem").Address | null; borrowerAddress?: import("viem").Address | null; signerAddress?: import("viem").Address | null; contractAddress: import("viem").Address; requiresLiquidation?: boolean | null; principalAddress: import("viem").Address; principalAmount: bigint; aprBps: bigint; fee: bigint; capacity: bigint; expirationTime: bigint; duration: bigint; status: string; offerHash?: import("viem").Hash | null; signature?: import("viem").Hex | null; createdDate?: Date | null; repayment: bigint; hidden?: boolean | null; maxSeniorRepayment: bigint; lenderRefinanceDisabled: boolean; collection: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; }; traits: Array<{ __typename?: "Trait"; id: string; type: string; value: string; }>; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; validators: Array<{ __typename?: "OfferValidator"; arguments: import("viem").Hex; validator: import("viem").Address; }>; })[]; hasNextPage: false; cursor: null; }>; listLoans(props: ListLoansQueryVariables): Promise<{ loans: { type: "MultiSourceLoan" | undefined; contractAddress: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}` | undefined; borrower: `0x${string}`; startTime: bigint; source: { lender: `0x${string}`; loanId: bigint; startTime: bigint; __typename?: "Source"; id: string; originationFee: bigint; principalAmount: bigint; lenderAddress: string; accruedInterest: bigint; aprBps: bigint; }[]; id: string; address: import("viem").Address; loanId: number; timestamp: Date; txHash: import("viem").Hash; indexInBlock: number; borrowerAddress: import("viem").Address; principalAddress: import("viem").Address; duration: bigint; status: string; principalAmount: bigint; blendedAprBps: number; totalOriginationFee: bigint; protocolFee: bigint; lenderRefinanceDisabled: boolean; offer: { __typename?: "CollectionOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; } | { __typename?: "SetOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; } | { __typename?: "SingleNFTOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; } | { __typename?: "TraitOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; }; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; repaidActivity?: { __typename?: "LoanRepaid"; totalInterest: bigint; timestamp: Date; } | null; nft: { __typename?: "NFT"; id: string; name?: string | null; tokenId: bigint; nftId: string; owner?: import("viem").Address | null; image?: { __typename?: "Asset"; data: string; cacheUrl?: string | null; contentTypeMime: string; accessTypeName: string; } | null; collection?: { __typename?: "Collection"; id: string; slug: string; name?: string | null; nftsCount?: number | null; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; } | null; }; sources: Array<{ __typename?: "Source"; id: string; loanId: string; originationFee: bigint; principalAmount: bigint; lenderAddress: string; accruedInterest: bigint; aprBps: bigint; startTime: Date; }>; }[]; hasNextPage: true; cursor: string; } | { loans: { type: "MultiSourceLoan" | undefined; contractAddress: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}` | undefined; borrower: `0x${string}`; startTime: bigint; source: { lender: `0x${string}`; loanId: bigint; startTime: bigint; __typename?: "Source"; id: string; originationFee: bigint; principalAmount: bigint; lenderAddress: string; accruedInterest: bigint; aprBps: bigint; }[]; id: string; address: import("viem").Address; loanId: number; timestamp: Date; txHash: import("viem").Hash; indexInBlock: number; borrowerAddress: import("viem").Address; principalAddress: import("viem").Address; duration: bigint; status: string; principalAmount: bigint; blendedAprBps: number; totalOriginationFee: bigint; protocolFee: bigint; lenderRefinanceDisabled: boolean; offer: { __typename?: "CollectionOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; } | { __typename?: "SetOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; } | { __typename?: "SingleNFTOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; } | { __typename?: "TraitOffer"; offerId: bigint; signerAddress?: import("viem").Address | null; }; currency: { __typename?: "Currency"; symbol: string; decimals: number; address: import("viem").Address; }; repaidActivity?: { __typename?: "LoanRepaid"; totalInterest: bigint; timestamp: Date; } | null; nft: { __typename?: "NFT"; id: string; name?: string | null; tokenId: bigint; nftId: string; owner?: import("viem").Address | null; image?: { __typename?: "Asset"; data: string; cacheUrl?: string | null; contentTypeMime: string; accessTypeName: string; } | null; collection?: { __typename?: "Collection"; id: string; slug: string; name?: string | null; nftsCount?: number | null; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; } | null; }; sources: Array<{ __typename?: "Source"; id: string; loanId: string; originationFee: bigint; principalAmount: bigint; lenderAddress: string; accruedInterest: bigint; aprBps: bigint; startTime: Date; }>; }[]; hasNextPage: false; cursor: null; }>; listListings(props: ListListingsQueryVariables): Promise<{ listings: { __typename?: "Listing"; id: string; marketplaceName: import("../../generated/graphql").MarketplaceEnum; createdDate: Date; desiredDuration?: number | null; desiredPrincipalAddress?: import("viem").Address | null; user: { __typename?: "User"; walletAddress: import("viem").Address; }; nft: { __typename?: "NFT"; id: string; tokenId: bigint; collection?: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; } | null; }; }[]; hasNextPage: true; cursor: string; } | { listings: { __typename?: "Listing"; id: string; marketplaceName: import("../../generated/graphql").MarketplaceEnum; createdDate: Date; desiredDuration?: number | null; desiredPrincipalAddress?: import("viem").Address | null; user: { __typename?: "User"; walletAddress: import("viem").Address; }; nft: { __typename?: "NFT"; id: string; tokenId: bigint; collection?: { __typename?: "Collection"; id: string; slug: string; contractData: { __typename?: "ContractData"; contractAddress: import("viem").Address; }; } | null; }; }[]; hasNextPage: false; cursor: null; }>; getWrapperAddress(collection: { contractData: { contractAddress: `0x${string}`; }; wrapperCollections?: { contractData: { contractAddress: `0x${string}`; }; }[]; }): Promise<`0x${string}`>; }