import type { Hash, Store } from "./types.js"; export type RenderOptions = { resolution?: number; decay?: number; epsilon?: number; format?: string; }; /** * Type statics structure: slot name → raw content */ export type TypeStatics = Record; /** * Array-form entry for compose templates: type_hash + all slot values. * This shape is iterable by LiquidJS {% for ts in type_statics %}. */ export type TypeStaticsEntry = { type_hash: Hash; } & TypeStatics; /** * Render a CAS node as YAML with resolution-based decay. * When resolution ≤ epsilon, nodes are rendered as opaque `cas:` references. * This is the synchronous version without template support. * For template support, use renderAsync(). */ export declare function render(store: Store, hash: Hash, options?: RenderOptions): string; /** * Async render with LiquidJS template support. * When resolution ≤ epsilon, nodes are rendered as opaque `cas:` references. * Attempts to use LiquidJS templates first, falling back to YAML. * Uses map-reduce-compose pipeline: * 1. Map phase: DFS rendering with type collection * 2. Reduce phase: Collect type statics from encountered types * 3. Compose phase: Apply compose template or identity transformation */ export declare function renderAsync(store: Store, hash: Hash, options?: RenderOptions): Promise; /** * Async render of a direct (in-memory) value through the full template + * compose pipeline — just like `renderAsync`, but for values that are * **not** stored in CAS. * * Looks up the instance template for `typeHash` in the requested `format`, * runs it through LiquidJS when found, falls back to YAML otherwise, and * finishes with the same reduce → compose phases that `renderAsync` uses. */ export declare function renderDirectAsync(typeHash: Hash, value: unknown, store: Store, options: RenderOptions | null): Promise; /** * Render a value directly (in-memory) without requiring it to be stored. * Accepts a raw { type, value } pair. Store is optional and read-only — * used only for schema lookup and expanding nested ocas_ref references. * No data is written to the store. */ export declare function renderDirect(typeHash: Hash, value: unknown, store: Store | null, options: RenderOptions | null): string; //# sourceMappingURL=render.d.ts.map