import { Web3LibAdapter, TransactionResponse, TransactionRequest, MetadataStorage, CreateBuyerArgs } from "@bosonprotocol/common";
import { BigNumberish } from "@ethersproject/bignumber";
import { CreateSellerArgs, UpdateSellerArgs, CreateDisputeResolverArgs, DisputeResolutionFee, DisputeResolverUpdates, OptInToSellerUpdateArgs, OptInToDisputeResolverUpdateArgs, CreateCollectionArgs, RoyaltyRecipientInfo } from "./types";
export declare const INITIAL_COLLECTION_ID = "initial";
export declare function findCollectionSalt(args: {
    sellerToCreate: CreateSellerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
}): Promise<string>;
export declare function createSeller(args: {
    sellerToCreate: CreateSellerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage?: MetadataStorage;
    theGraphStorage?: MetadataStorage;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function createSeller(args: {
    sellerToCreate: CreateSellerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage?: MetadataStorage;
    theGraphStorage?: MetadataStorage;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function updateSeller(args: {
    sellerUpdates: UpdateSellerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage: MetadataStorage;
    theGraphStorage: MetadataStorage;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function updateSeller(args: {
    sellerUpdates: UpdateSellerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage: MetadataStorage;
    theGraphStorage: MetadataStorage;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function optInToSellerUpdate(args: {
    sellerUpdates: OptInToSellerUpdateArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function optInToSellerUpdate(args: {
    sellerUpdates: OptInToSellerUpdateArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function createBuyer(args: {
    buyerToCreate: CreateBuyerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage?: MetadataStorage;
    theGraphStorage?: MetadataStorage;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function createBuyer(args: {
    buyerToCreate: CreateBuyerArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage?: MetadataStorage;
    theGraphStorage?: MetadataStorage;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function createDisputeResolver(args: {
    disputeResolverToCreate: CreateDisputeResolverArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function createDisputeResolver(args: {
    disputeResolverToCreate: CreateDisputeResolverArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function addFeesToDisputeResolver(args: {
    disputeResolverId: BigNumberish;
    fees: DisputeResolutionFee[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function addFeesToDisputeResolver(args: {
    disputeResolverId: BigNumberish;
    fees: DisputeResolutionFee[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function addSellersToAllowList(args: {
    disputeResolverId: BigNumberish;
    sellerAllowList: BigNumberish[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function addSellersToAllowList(args: {
    disputeResolverId: BigNumberish;
    sellerAllowList: BigNumberish[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function removeFeesFromDisputeResolver(args: {
    disputeResolverId: BigNumberish;
    feeTokenAddresses: string[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function removeFeesFromDisputeResolver(args: {
    disputeResolverId: BigNumberish;
    feeTokenAddresses: string[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function removeSellersFromAllowList(args: {
    disputeResolverId: BigNumberish;
    sellerAllowList: BigNumberish[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function removeSellersFromAllowList(args: {
    disputeResolverId: BigNumberish;
    sellerAllowList: BigNumberish[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function updateDisputeResolver(args: {
    disputeResolverId: BigNumberish;
    updates: DisputeResolverUpdates;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    subgraphUrl: string;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function updateDisputeResolver(args: {
    disputeResolverId: BigNumberish;
    updates: DisputeResolverUpdates;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    subgraphUrl: string;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function optInToDisputeResolverUpdate(args: {
    disputeResolverUpdates: OptInToDisputeResolverUpdateArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function optInToDisputeResolverUpdate(args: {
    disputeResolverUpdates: OptInToDisputeResolverUpdateArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function createNewCollection(args: {
    collectionToCreate: CreateCollectionArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage: MetadataStorage;
    theGraphStorage: MetadataStorage;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function createNewCollection(args: {
    collectionToCreate: CreateCollectionArgs;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    metadataStorage: MetadataStorage;
    theGraphStorage: MetadataStorage;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function isSellerSaltAvailable(args: {
    adminAddress: string;
    salt: string;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
}): Promise<boolean>;
export declare function calculateCollectionAddress(args: {
    sellerId: BigNumberish;
    collectionId: string;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
}): Promise<{
    collectionAddress: string;
    isAvailable: boolean;
}>;
export declare function addRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    royaltyRecipients: RoyaltyRecipientInfo[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function addRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    royaltyRecipients: RoyaltyRecipientInfo[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function updateRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    royaltyRecipientIds: BigNumberish[];
    royaltyRecipients: RoyaltyRecipientInfo[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function updateRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    royaltyRecipientIds: BigNumberish[];
    royaltyRecipients: RoyaltyRecipientInfo[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function removeRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    royaltyRecipientIds: BigNumberish[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo: true;
}): Promise<TransactionRequest>;
export declare function removeRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    royaltyRecipientIds: BigNumberish[];
    contractAddress: string;
    web3Lib: Web3LibAdapter;
    returnTxInfo?: false | undefined;
}): Promise<TransactionResponse>;
export declare function getRoyaltyRecipients(args: {
    sellerId: BigNumberish;
    contractAddress: string;
    web3Lib: Web3LibAdapter;
}): Promise<RoyaltyRecipientInfo[]>;
//# sourceMappingURL=handler.d.ts.map