import type { ColdCode } from "../core/types.js"; import type { Versionage } from "../tables/table-types.js"; import type { GroupEntry } from "./primitive.js"; /** * Supported initialization forms for Counter primitives. * * Counters are version-sensitive and may be initialized from explicit code/count * fields or from qualified encodings (`qb64`, `qb64b`, `qb2`). */ export interface CounterInit { code?: string; count?: number; countB64?: string; qb64b?: Uint8Array; qb64?: string; qb2?: Uint8Array; version?: Versionage; } export interface CounterEncloseInit { qb64?: Uint8Array | string | null; qb2?: Uint8Array | null; code?: string; version?: Versionage; } interface CounterData { code: string; count: number; fullSize: number; fullSizeB2: number; qb64: string; name: string; version: Versionage; } /** * Base CESR counter primitive. * * KERIpy substance: counters are first-class primitives that frame counted * payload groups and carry versioned code-name semantics. */ export declare class Counter { protected readonly _code: string; protected readonly _count: number; protected readonly _fullSize: number; protected readonly _fullSizeB2: number; protected readonly _qb64: string; protected readonly _name: string; protected readonly _version: Versionage; static makeGVC(version: Versionage): Uint8Array; static enclose({ qb64, qb2, code, version, }?: CounterEncloseInit): Uint8Array; constructor(init: Counter | CounterData | CounterInit); protected toCounterData(): CounterData; get code(): string; get count(): number; get fullSize(): number; get fullSizeB2(): number; get qb64(): string; get qb64b(): Uint8Array; get qb2(): Uint8Array; get name(): string; get version(): Versionage; equals(other: { qb64: string; }): boolean; toString(): string; } /** * Parsed counter-group container with raw counted payload and hydrated entries. * * This is parser-facing structure used for primitive-graph attachment outputs. */ export declare class CounterGroup extends Counter { readonly raw: Uint8Array; readonly items: readonly GroupEntry[]; constructor(counter: Counter, raw: Uint8Array, items: readonly GroupEntry[]); } /** Parse counter from text-domain CESR bytes using provided version context. */ export declare function parseCounterFromText(input: Uint8Array, version: Versionage): Counter; /** Parse counter from binary-domain CESR bytes using provided version context. */ export declare function parseCounterFromBinary(input: Uint8Array, version: Versionage): Counter; /** Parse counter using domain hint (`txt` or `bny`) and versioned codex tables. */ export declare function parseCounter(input: Uint8Array, version: Versionage, cold: Extract): Counter; export {}; //# sourceMappingURL=counter.d.ts.map