import type { ColdCode } from "../core/types.js"; import type { Versionage } from "../tables/table-types.js"; import { CounterGroup } from "./counter.js"; import type { CounterGroupLike } from "./primitive.js"; type ParseDomain = Extract; /** Constructor payload for rebuilding a structor from an already parsed group. */ export interface StructorInit { group: CounterGroupLike; sourceDomain?: ParseDomain; consumed?: number; serialized?: Uint8Array; } /** * Group primitive base class for counted CESR tuple/list attachment structures. * * KERIpy substance: `Structor` models one counted-group unit where tuple/list * members are hydrated CESR primitives and serialization remains deterministic. * * TypeScript boundary: * - subclasses like `Sealer`, `Blinder`, and `Mediar` specialize transport * families * - semantic fixed-field values remain plain records outside this class */ export declare class Structor extends CounterGroup { readonly sourceDomain: ParseDomain; readonly consumed: number; readonly serialized: Uint8Array; constructor(init: Structor | StructorInit); /** Semantic clan/tag alias for KERIpy parity terminology (`name` in TS). */ get clan(): string; /** Fully enclosed group serialization in text domain (`counter + payload`). */ get qb64g(): string; /** Fully enclosed group serialization in binary domain (`counter + payload`). */ get qb2g(): Uint8Array; /** Deterministic value-equivalence over full enclosed qb64 text form. */ equalsStructor(other: { qb64g: string; }): boolean; /** Hydrate a generic structor from an already parsed counter group. */ static fromGroup(group: CounterGroupLike, sourceDomain?: ParseDomain): Structor; } /** * Parse one counted attachment group and hydrate it as `Structor`. * * Optional `allowedCodes` guard narrows acceptable group families for * subclass parsers (`Sealer`, `Blinder`, `Mediar`, `Aggor`). */ export declare function parseStructor(input: Uint8Array, version: Versionage, cold: ParseDomain, allowedCodes?: ReadonlySet, expectedFamily?: string): Structor; export {}; //# sourceMappingURL=structor.d.ts.map