import { type SourceIndex } from '@bitmagic/asset-core/publish-source'; export { SOURCE_INDEX_ALGO } from '@bitmagic/asset-core/publish-source'; export type { SourceIndex, SourceIndexEntry } from '@bitmagic/asset-core/publish-source'; /** * A relative path as the fingerprint hashes it: always forward-slashed. * * Re-exported through this module (rather than having callers reach into the shared package) so * the CLI keeps one import site for path normalisation, and defaults to the host's separator — * the shared version defaults to '/' because it is given already-normalised zip entry names. */ export declare function toPosixPath(relativePath: string, sep?: string): string; /** * Every fingerprinted file in the project, hashed, plus the fingerprint they roll up to. * * One walk per publish. `runPublish` calls this once and feeds the SAME result to both the * staleness gate and the source archive — previously the tree was walked twice (once to * fingerprint, once to build the artifact), which opened a window for an edit to land between * them and gave the exclusion rules two call sites that could drift. * * Any filesystem error (unreadable directory, permission denied, etc.) propagates immediately * rather than being silently omitted: the project source is the creator's own files, so an * unreadable subtree is a real problem worth surfacing, not something to hide. An omitted * directory would produce a fingerprint that matches a stale project — the costly failure mode. */ export declare function buildSourceIndex(root: string): SourceIndex; /** * The project's fingerprint on its own. * * Kept as the entry point for the callers that only need the hash (`verify`, `build`), so they * do not have to know an index exists. `publish` uses `buildSourceIndex` directly because it * needs both halves. */ export declare function computeFingerprint(root: string): string;