/** * Convert HotMesh's compact timestamp (YYYYMMDDHHmmss.SSS) to ISO 8601. */ export declare function hmshTimestampToISO(ts: string): string; /** * Compute duration in milliseconds between two HotMesh compact timestamps. */ export declare function computeDuration(ac?: string, au?: string): number | null; /** * Deserialize a HotMesh serialized value. * Prefix conventions: /s = JSON, /d = number, /t = true, /f = false, /n = null. */ export declare function fromString(value: string): unknown; /** * Validate and sanitize an app_id for use as a Postgres schema name. */ export declare function sanitizeAppId(appId: string): string; /** * Quote a schema name for safe use in SQL queries (Postgres identifier quoting). */ export declare function quoteSchema(schema: string): string; /** Schema-qualified symbol lookup — schema is injected as an identifier, not a parameter. */ export declare const LOAD_SYMBOL_MAP: (schema: string) => string; /** * Load all symbol key mappings from {schema}.symbols for the given appId. * Returns a reverse map: abbreviated 3-char key → human-readable path. */ export declare function loadSymbolMap(schema: string, appId: string): Promise>; /** * Inflate raw HotMesh job attributes using the symbol map. * Converts abbreviated 3-char keys + dimensional indices into * human-readable "dimensions/path" entries with deserialized values. * * Key patterns: * "abc" → 3-char job-level key (metadata/jc, data/summary, etc.) * "abc,N,M,..." → activity/transition key with dimensional index * ":" → status semaphore */ export declare function inflateAttributes(attrs: Record, symbolMap: Record): Record; /** * Rebuild a nested object from a flat "dim1/dim2/.../path" → value map. */ export declare function restoreHierarchy(flat: Record): Record; export interface ActivityInfo { name: string; type: string; step: string; ac: string | null; au: string | null; traceId: string | null; spanId: string | null; error: string | null; data: Record | null; dimensions: string; } /** * Walk an inflated HotMesh hierarchy to extract all activities/transitions. * Recurses through numeric dimension keys, collecting activity nodes that * have an `output.metadata` subtree. */ export declare function extractActivities(hierarchy: Record): ActivityInfo[];