import { FuelContext, FuelContractContext } from './context.js'; import { HandleInterval } from '@sentio/protos'; import { PromiseOrVoid } from '../core/promises.js'; import { ListStateStorage } from '@sentio/runtime'; import { Contract } from 'fuels'; import { FuelBlock, FuelLog, FuelTransaction } from './types.js'; import { FuelFetchConfig } from './transaction.js'; import { FuelProcessor, FuelProcessorConfig } from './fuel-processor.js'; import { HandlerOptions } from '../core/index.js'; export declare class FuelProcessorTemplateProcessorState extends ListStateStorage> { static INSTANCE: FuelProcessorTemplateProcessorState; } export declare abstract class FuelBaseProcessorTemplate { id: number; binds: Set; blockHandlers: { handlerName: string; handler: (block: FuelBlock, ctx: FuelContractContext) => PromiseOrVoid; blockInterval?: HandleInterval; timeIntervalInMinutes?: HandleInterval; handlerOptions?: HandlerOptions; }[]; logHandlers: { logIdFilter: string | string[]; handlerName: string; handler: (logs: FuelLog, ctx: FuelContractContext) => PromiseOrVoid; handlerOptions?: HandlerOptions>; }[]; transactionHandlers: { handlerName: string; handler: (transaction: FuelTransaction, ctx: FuelContractContext) => PromiseOrVoid; handlerOptions?: HandlerOptions; }[]; constructor(); /** * Bind template using {@param options}, using {@param ctx}'s network value if not provided in the option * @param options * @param ctx */ bind(options: Omit, 'abi'>, ctx: FuelContext): void; protected onLog(logIdFilter: string | string[], handler: (logs: FuelLog, ctx: FuelContractContext) => PromiseOrVoid, handlerOptions?: HandlerOptions>): this; onBlockInterval(handler: (block: FuelBlock, ctx: FuelContractContext) => PromiseOrVoid, blockInterval?: number, backfillBlockInterval?: number): this; onTimeInterval(handler: (block: FuelBlock, ctx: FuelContractContext) => PromiseOrVoid, timeIntervalInMinutes?: number, backfillBlockInterval?: number): this; onInterval(handler: (block: FuelBlock, ctx: FuelContractContext) => PromiseOrVoid, timeInterval: HandleInterval | undefined, blockInterval: HandleInterval | undefined, handlerOptions?: HandlerOptions): this; protected onTransaction(handler: (transaction: FuelTransaction, ctx: FuelContractContext) => PromiseOrVoid, handlerOptions?: HandlerOptions): this; protected abstract bindInternal(options: Omit): FuelProcessor; } //# sourceMappingURL=fuel-processor-template.d.ts.map