import { ProcessResult } from '@sentio/protos'; import { SolanaContext } from './solana-context.js'; import { Instruction } from '@coral-xyz/anchor'; import { SolanaBindOptions } from './solana-options.js'; import { ListStateStorage } from '@sentio/runtime'; import { Labels } from '../core/index.js'; import { SolanaChainId } from '@sentio/chain'; import { HandlerOptions } from '../core/handler-options.js'; type IndexConfigure = { startSlot: bigint; endSlot?: bigint; }; export interface InstructionCoder { decode(ix: Buffer | string, encoding?: 'hex' | 'base58'): Instruction | null; } export type SolanaInstructionHandler = (instruction: Instruction, ctx: SolanaContext, accounts?: string[]) => void; export interface InstructionHandlerEntry { handler: SolanaInstructionHandler; handlerOptions?: HandlerOptions; } export declare class SolanaProcessorState extends ListStateStorage { static INSTANCE: SolanaProcessorState; } export declare class SolanaBaseProcessor { instructionHandlerMap: Map; address: string; endpoint: string; contractName: string; baseLabels?: Labels; network: SolanaChainId; processInnerInstruction: boolean; config: IndexConfigure; instructionCoder: InstructionCoder; decodeInstruction(rawInstruction: string): Instruction | null; fromParsedInstruction: (instruction: { type: string; info: any; }) => Instruction | null; constructor(options: SolanaBindOptions); onInstruction(instructionName: string, handler: SolanaInstructionHandler, handlerOptions?: HandlerOptions): this; getParsedInstruction(ins: string | { type: string; info: any; }): Instruction | null; getInstructionHandler(parsedInstruction: Instruction): InstructionHandlerEntry | undefined; handleInstruction(parsedInstruction: Instruction, accounts: string[], handlerEntry: InstructionHandlerEntry, slot: bigint): Promise; getPartitionKey(parsedInstruction: Instruction, handlerEntry: InstructionHandlerEntry): Promise; startSlot(startSlot: bigint | number): this; endBlock(endBlock: bigint | number): this; } export {}; //# sourceMappingURL=solana-processor.d.ts.map