import { Address, Instruction } from '@solana/kit'; /** Keys for output buckets */ export type BucketKey = string; /** A matcher says: “for this program, if the instruction data starts with this prefix, drop it into bucket K” */ export interface IxMatcher { /** program id to match */ program: Address; /** Discriminator/prefix to match at the start of `ix.data` (any length, incl. 1 byte) */ prefix: Uint8Array; /** Target bucket name */ bucket: K; } /** Convenience builder that accepts a single program or an iterable, and a number | number[] | Uint8Array for the prefix */ export declare function makeIxMatcher(program: Address, discriminator: number | readonly number[] | Uint8Array, bucket: K): IxMatcher; /** Output: buckets + everything else that didn't match any matcher */ export type ExtractedIxs = { buckets: Record; otherIxs: Instruction[]; }; export declare function extractIxsByMatchers(instructions: Instruction[], matchers: readonly IxMatcher[]): ExtractedIxs; //# sourceMappingURL=extractIxs.d.ts.map