import { type Frame, type FrameInit, type FrameSize, type ReadResult } from "./frame.ts"; export interface IndexerInit { code: string; raw: Uint8Array; index: number; ondex?: number; } type IndexCodeTableEntry = FrameSize & { os: number; }; export declare class Indexer implements IndexerInit, Frame { readonly code: string; readonly index: number; readonly ondex?: number; readonly raw: Uint8Array; constructor(init: IndexerInit); get quadlets(): number; get soft(): number; get size(): IndexCodeTableEntry; text(): string; binary(): Uint8Array; static readonly Code: { Ed25519_Sig: string; Ed25519_Crt_Sig: string; ECDSA_256k1_Sig: string; ECDSA_256k1_Crt_Sig: string; ECDSA_256r1_Sig: string; ECDSA_256r1_Crt_Sig: string; Ed448_Sig: string; Ed448_Crt_Sig: string; Ed25519_Big_Sig: string; Ed25519_Big_Crt_Sig: string; ECDSA_256k1_Big_Sig: string; ECDSA_256k1_Big_Crt_Sig: string; ECDSA_256r1_Big_Sig: string; ECDSA_256r1_Big_Crt_Sig: string; Ed448_Big_Sig: string; Ed448_Big_Crt_Sig: string; }; static peek(input: Uint8Array): ReadResult; static parse(input: string | Uint8Array): Indexer; /** * Create a new Indexer frame. * * Note: It is recommended to use the helper methods in `Indexer.crypto` instead to ensure * the correct code is used for the signature type. * * @param code The Indexer code, see {@link Indexer.Code} * @param raw The raw signature bytes * @param index The main index of the signature * @param ondex The optional secondary index of the signature */ static from(code: string, raw: Uint8Array, index: number, ondex?: number): Indexer; /** * Convert a Matter frame into an Indexer frame by providing the index and optional ondex. * * @param matter The Matter frame to convert * @param index The main index of the signature * @param ondex The optional secondary index of the signature * @returns The created Indexer frame */ static convert(matter: Pick, index: number, ondex?: number): Indexer; static readonly crypto: { ed25519_sig(raw: Uint8Array, index: number, ondex?: number): Indexer; ed448_sig(raw: Uint8Array, index: number, ondex?: number): Indexer; ecdsa_256k1_sig(raw: Uint8Array, index: number, ondex?: number): Indexer; ecdsa_256r1_sig(raw: Uint8Array, index: number, ondex?: number): Indexer; }; } export {};