import { Data_SuiCall, Data_SuiEvent, Data_SuiObjectChange, MoveFetchConfig } from '@sentio/protos'; import { ListStateStorage } from '@sentio/runtime'; import { SuiNetwork } from './network.js'; import { SuiContext, SuiObjectChangeContext } from './context.js'; import { MoveCallSuiTransaction, SuiEvent, SuiTransactionBlockResponse, SuiObjectChange } from '@mysten/sui/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: SuiBindOptions): IndexConfigure; export interface SuiBindOptions { address: string; network?: SuiNetwork; startCheckpoint?: bigint; endCheckpoint?: bigint; baseLabels?: Labels; } export declare class SuiProcessorState extends ListStateStorage { static INSTANCE: SuiProcessorState; } export declare class SuiBaseProcessor { readonly moduleName: string; config: IndexConfigure; eventHandlers: EventHandler[]; callHandlers: CallHandler[]; objectChangeHandlers: ObjectChangeHandler[]; coder: MoveCoder; constructor(name: string, options: SuiBindOptions); getChainId(): string; protected onMoveEvent(handler: (event: SuiEvent, ctx: SuiContext) => PromiseOrVoid, filter: EventFilter | EventFilter[], handlerOptions?: HandlerOptions): SuiBaseProcessor; protected onEntryFunctionCall(handler: (call: MoveCallSuiTransaction, ctx: SuiContext) => PromiseOrVoid, filter: FunctionNameAndCallFilter | FunctionNameAndCallFilter[], handlerOptions?: HandlerOptions): SuiBaseProcessor; onEvent(handler: (event: SuiEvent, ctx: SuiContext) => void, handlerOptions?: HandlerOptions): this; onTransactionBlock(handler: (transaction: SuiTransactionBlockResponse, ctx: SuiContext) => PromiseOrVoid, filter?: TransactionFilter, handlerOptions?: HandlerOptions): this; protected onObjectChange(handler: (changes: SuiObjectChange[], ctx: SuiObjectChangeContext) => PromiseOrVoid, type: string): this; } export declare class SuiModulesProcessor extends SuiBaseProcessor { static bind(options: SuiBindOptions): SuiModulesProcessor; } export declare class SuiGlobalProcessor extends SuiBaseProcessor { static bind(options: Omit): SuiGlobalProcessor; onTransactionBlock(handler: (transaction: SuiTransactionBlockResponse, ctx: SuiContext) => void, filter: TransactionFilter, fetchConfig?: Partial): this; onObjectChange(handler: (changes: SuiObjectChange[], ctx: SuiObjectChangeContext) => void, type: string): this; } //# sourceMappingURL=sui-processor.d.ts.map