import { Data_SuiCall, Data_SuiEvent, Data_SuiObjectChange, MoveFetchConfig } from '@sentio/protos'; import { ListStateStorage } from '@sentio/runtime'; import { IotaNetwork } from './network.js'; import { IotaContext, IotaObjectChangeContext } from './context.js'; import { MoveCallIotaTransaction, IotaEvent, IotaTransactionBlockResponse, IotaObjectChange } from '@iota/iota-sdk/client'; import { CallHandler, EventFilter, EventHandler, FunctionNameAndCallFilter, ObjectChangeHandler, TransactionFilter } from '../move/index.js'; import { MoveCoder } from './index.js'; import { Labels, PromiseOrVoid } from '../core/index.js'; import { Required } from 'utility-types'; import { HandlerOptions } from './models.js'; export declare const DEFAULT_FETCH_CONFIG: MoveFetchConfig; export type IndexConfigure = Required; export declare function configure(options: IotaBindOptions): IndexConfigure; export interface IotaBindOptions { address: string; network?: IotaNetwork; startCheckpoint?: bigint; endCheckpoint?: bigint; baseLabels?: Labels; } export declare class IotaProcessorState extends ListStateStorage { static INSTANCE: IotaProcessorState; } export declare class IotaBaseProcessor { readonly moduleName: string; config: IndexConfigure; eventHandlers: EventHandler[]; callHandlers: CallHandler[]; objectChangeHandlers: ObjectChangeHandler[]; coder: MoveCoder; constructor(name: string, options: IotaBindOptions); getChainId(): string; protected onMoveEvent(handler: (event: IotaEvent, ctx: IotaContext) => PromiseOrVoid, filter: EventFilter | EventFilter[], handlerOptions?: HandlerOptions): IotaBaseProcessor; protected onEntryFunctionCall(handler: (call: MoveCallIotaTransaction, ctx: IotaContext) => PromiseOrVoid, filter: FunctionNameAndCallFilter | FunctionNameAndCallFilter[], handlerOptions?: HandlerOptions): IotaBaseProcessor; onEvent(handler: (event: IotaEvent, ctx: IotaContext) => void, handlerOptions?: HandlerOptions): this; onTransactionBlock(handler: (transaction: IotaTransactionBlockResponse, ctx: IotaContext) => PromiseOrVoid, filter?: TransactionFilter, handlerOptions?: HandlerOptions): this; protected onObjectChange(handler: (changes: IotaObjectChange[], ctx: IotaObjectChangeContext) => PromiseOrVoid, type: string): this; } export declare class IotaModulesProcessor extends IotaBaseProcessor { static bind(options: IotaBindOptions): IotaModulesProcessor; } export declare class IotaGlobalProcessor extends IotaBaseProcessor { static bind(options: Omit): IotaGlobalProcessor; onTransactionBlock(handler: (transaction: IotaTransactionBlockResponse, ctx: IotaContext) => void, filter: TransactionFilter, fetchConfig?: Partial): this; onObjectChange(handler: (changes: IotaObjectChange[], ctx: IotaObjectChangeContext) => void, type: string): this; } //# sourceMappingURL=iota-processor.d.ts.map