/** * Encode one canonical vault-key segment for a Win32 filename. Percent is * escaped before every other character so decoding cannot collide with a * literal `%3A` name. The optional flag makes platform-specific behavior * directly testable without mutating `process.platform`. */ export declare function encodeLocalVaultSegment(segment: string, win32?: boolean): string; /** Decode one local filename segment back to its canonical vault-key form. */ export declare function decodeLocalVaultSegment(segment: string, win32?: boolean): string; /** Materialize a canonical slash-delimited vault key beneath a local root. */ export declare function localPathForVaultKey(root: string, key: string, win32?: boolean): string; /** * Turn a local, root-relative path back into its canonical vault key. This * recognizes legacy percent-encoded Windows materializations as well as the * current codec, so they converge on one remote/journal key instead of * creating duplicates. */ export declare function vaultKeyForLocalPath(root: string, localPath: string, win32?: boolean): string; /** * Collapse a vault-key spelling to its canonical logical form by repeatedly * percent-decoding every segment to a fixpoint. * * Mixed-version amplifier context: a pre-codec Windows engine uploads its * local farm names verbatim, minting keys like `core%3Askill`; a post-codec * engine that materializes that key re-escapes the `%` on its next walk, and * a pre-codec peer re-uploads `core%253Askill` — one junk generation per hop. * Every generation decodes to the same fixpoint (`core:skill`), so the * fixpoint — never the raw spelling — is the identity of the logical path. * Decodes with win32 semantics unconditionally: junk spellings are a * key-space (wire) phenomenon, not a host-platform one. Used by the pull * planner's junk-spelling guard; deliberately NEVER used to rewrite keys * (journals and the wire always keep the exact spelling they were minted * with — collapsing families is the vault doctor's job, US-003). */ export declare function canonicalVaultSegmentSpelling(segment: string): string; export declare function canonicalVaultKeySpelling(key: string): string; //# sourceMappingURL=local-path-codec.d.ts.map