import { EVMContractAddress, BigNumberString, BlockchainCommonErrors, MarketplaceTag, MarketplaceListing } from "@snickerdoodlelabs/objects"; import { ResultAsync } from "neverthrow"; import { IBaseContract } from "../interfaces/IBaseContract.js"; import { ContractOverrides, WrappedTransactionResponse } from "../interfaces/objects"; export interface IContentFactoryContract extends IBaseContract { getGovernanceToken(): ResultAsync; isStakingToken(stakingToken: EVMContractAddress): ResultAsync; listingDuration(): ResultAsync; maxTagsPerListing(): ResultAsync; getTagTotal(tag: MarketplaceTag, stakedToken: EVMContractAddress): ResultAsync; getListingsForward(tag: MarketplaceTag, stakingToken: EVMContractAddress, startingSlot: BigNumberString, numberOfSlots: number, removeExpired: boolean): ResultAsync; getListingsBackward(tag: MarketplaceTag, stakingToken: EVMContractAddress, startingSlot: BigNumberString, numberOfSlots: number, removeExpired: boolean): ResultAsync; computeFee(slot: BigNumberString): ResultAsync; removeExpiredListings(tag: MarketplaceTag, stakingToken: EVMContractAddress, slots: BigNumberString[], overrides?: ContractOverrides): ResultAsync; } export interface IInternalContentFactoryContract extends IBaseContract { initializeTag(tag: MarketplaceTag, stakingToken: EVMContractAddress, newHead: BigNumberString, overrides?: ContractOverrides): ResultAsync; insertUpstream(tag: MarketplaceTag, stakingToken: EVMContractAddress, newSlot: BigNumberString, existingSlot: BigNumberString, overrides?: ContractOverrides): ResultAsync; moveUpstream(tag: MarketplaceTag, stakingToken: EVMContractAddress, newSlot: BigNumberString, downstreamSlot: BigNumberString, overrides?: ContractOverrides): ResultAsync; insertDownstream(tag: MarketplaceTag, stakingToken: EVMContractAddress, existingSlot: BigNumberString, newSlot: BigNumberString, overrides?: ContractOverrides): ResultAsync; replaceExpiredListing(tag: MarketplaceTag, stakingToken: EVMContractAddress, slot: BigNumberString, overrides?: ContractOverrides): ResultAsync; removeListing(tag: MarketplaceTag, stakingToken: EVMContractAddress, removedSlot: BigNumberString, overrides?: ContractOverrides): ResultAsync; } export declare const IContentFactoryContractType: unique symbol; //# sourceMappingURL=IContentFactoryContract.d.ts.map