import type { OneSatServices } from "../services/OneSatServices"; import { type IndexSummary, Indexer, type ParseContext, type ParseResult, type Txo } from "./types"; export interface Bsv21 { id: string; op: string; amt: bigint; dec: number; sym?: string; icon?: string; status: "valid" | "invalid" | "pending"; reason?: string; fundAddress: string; } /** * Bsv21Indexer identifies and validates BSV21 tokens. * These are 1-sat outputs with application/bsv-20 inscription type. * * Data structure: Bsv21 with id, op, amt, dec, status, etc. * * Basket: 'bsv21' * Events: id, id:status, bsv21:amt */ export declare class Bsv21Indexer extends Indexer { owners: Set; network: "mainnet" | "testnet"; services: OneSatServices; tag: string; name: string; constructor(owners: Set, network: "mainnet" | "testnet", services: OneSatServices); parse(txo: Txo): Promise; summarize(ctx: ParseContext): Promise; serialize(bsv21: Bsv21): string; deserialize(str: string): Bsv21; } export declare function deriveFundAddress(idOrOutpoint: string | number[]): string;