import { BlockOutput, DataFormat, EthExecutionAPI, JsonRpcSubscriptionResult, JsonRpcSubscriptionResultOld, JsonRpcNotification, Log, HexString, Web3APIParams, Web3APISpec } from 'web3-types'; import { Web3SubscriptionManager } from './web3_subscription_manager.js'; import { Web3EventEmitter, Web3EventMap } from './web3_event_emitter.js'; import { Web3RequestManager } from './web3_request_manager.js'; type CommonSubscriptionEvents = { data: unknown; error: Error; connected: string; }; export declare abstract class Web3Subscription extends Web3EventEmitter { readonly args: ArgsType; private readonly _subscriptionManager; private readonly _lastBlock?; private readonly _returnFormat; protected _id?: HexString; constructor(args: ArgsType, options: { subscriptionManager: Web3SubscriptionManager; returnFormat?: DataFormat; }); /** * @deprecated This constructor overloading should not be used */ constructor(args: ArgsType, options: { requestManager: Web3RequestManager; returnFormat?: DataFormat; }); get id(): string | undefined; get lastBlock(): BlockOutput | undefined; subscribe(): Promise; processSubscriptionData(data: JsonRpcSubscriptionResult | JsonRpcSubscriptionResultOld | JsonRpcNotification): void; sendSubscriptionRequest(): Promise; protected get returnFormat(): DataFormat; protected get subscriptionManager(): Web3SubscriptionManager; }>; resubscribe(): Promise; unsubscribe(): Promise; sendUnsubscribeRequest(): Promise; protected formatSubscriptionResult(data: CombinedEventMap['data']): CombinedEventMap["data"]; _processSubscriptionResult(data: CombinedEventMap['data'] | unknown): void; _processSubscriptionError(error: Error): void; protected _buildSubscriptionParams(): Web3APIParams; } export type Web3SubscriptionConstructor = Web3Subscription> = (new (args: any, options: { subscriptionManager: Web3SubscriptionManager; returnFormat?: DataFormat; } | { requestManager: Web3RequestManager; returnFormat?: DataFormat; }) => SubscriptionType) | (new (args: any, options: { subscriptionManager: Web3SubscriptionManager; returnFormat?: DataFormat; }) => SubscriptionType) | (new (args: any, options: { requestManager: Web3RequestManager; returnFormat?: DataFormat; }) => SubscriptionType); export {};