import { BigNumber, BigNumberish, BytesLike, Signer } from "ethers"; import { Provider } from "@ethersproject/providers"; import { Chain, ChainId } from "../data-token"; import { Data_Union_Subscriber, DataUnion as DataUnionGraphType, Data_Union_Subscription } from "../graphql"; import { IDataUnion } from "./contracts"; import { IDataUnionDefinitions } from "./contracts/IDataUnion"; import { CloseDataUnionOutput, CollectDataUnionOutput, Currency, PublishDataUnionInput, PublishDataUnionOutput, SubscribeDataUnionInput, SubscribeDataUnionOutput, SubscribeModule, TimeSegment } from "./types"; export declare class DataUnion { chainId: ChainId; chain: Chain; signer?: Signer; provider?: Provider; instance: IDataUnion; constructor({ chainId, signer, provider, }: { chainId: ChainId; signer?: Signer; provider?: Provider; }); getDataUnionById(dataUnionId: BytesLike): Promise; getSubscriptionData({ dataUnionId, collectTokenId, }: { dataUnionId: BytesLike; collectTokenId: BigNumberish; }): Promise; isCollected({ dataUnionId, account, }: { dataUnionId: BytesLike; account: string; }): Promise; isAccessibleByTokenId({ dataUnionId, collectTokenId, blockNumber, }: { dataUnionId: BytesLike; collectTokenId: BigNumberish; blockNumber: BigNumberish; }): Promise; isAccessibleBySubscriber({ dataUnionId, subscriber, blockNumber, }: { dataUnionId: BytesLike; subscriber: string; blockNumber: BigNumberish; }): Promise; publish({ createDataTokenInput, resourceId, subscribeModule, subscribeModuleInput, }: PublishDataUnionInput): Promise; close(dataUnionId: BytesLike): Promise; collect(dataUnionId: BytesLike): Promise; subscribe({ dataUnionId, collectTokenId, subscribeInput, }: SubscribeDataUnionInput): Promise; static loadDataUnionsPublishedBy(publisher: string): Promise>; static loadDataUnionsCollectedBy(collector: string): Promise>; static loadDataUnionCollectors(dataUnionId: string): Promise>; static loadDataUnionSubscribers(dataUnionId: string): Promise>; static loadDataUnion(dataUnionId: string): Promise; static loadDataUnions(dataUnionIds: Array): Promise>; static loadDataUnionSubscriptionsBy({ dataUnionId, collector, }: { dataUnionId: string; collector: string; }): Promise>; static isDataUnionCollectedBy({ dataUnionId, collector, }: { dataUnionId: string; collector: string; }): Promise; static isDataUnionSubscribedBy({ dataUnionId, subscriber, timestamp, blockNumber, }: { dataUnionId: string; subscriber: string; timestamp?: BigNumber; blockNumber?: BigNumber; }): Promise; static isInSubscription(subscriptions: Array, blockNumber: BigNumber): boolean; _generateSubscribeModuleInitData({ subscribeModule, currency, amount, segment, }: { subscribeModule: SubscribeModule; currency: Currency; amount: BigNumberish; segment?: TimeSegment; }): BytesLike; _generateSubscribeData({ dataUnionId, subscribeModule, subscribeInput, }: { dataUnionId: BytesLike; subscribeModule: string; subscribeInput: { startAt?: BigNumberish; endAt?: BigNumberish; segmentsCount?: BigNumberish; }; }): Promise; private _checkERC20BalanceAndAllowance; }