/**
 * Shared helper for computing a stable `contentHash` on an `Indexable`.
 *
 * Per design §8 (Incremental upsert flow):
 *   contentHash = sha256(text + weight + role + timestamp)
 *
 * Kept in its own module so every source emits hashes under the exact
 * same recipe — which is load-bearing: the indexer uses this hash to
 * skip re-embedding unchanged rows.
 */
import type { Role } from "../types.js";
export declare function contentHashOf(text: string, weight: number, role: Role | undefined, timestamp: number): string;
//# sourceMappingURL=hash.d.ts.map