// GENERATED CODE! DO NOT MODIFY BY HAND!

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
 * An immutable, cross-platform representation of a `file:` URI.
 *
 * Only the `file:` scheme is currently accepted. Construction validates the
 * URL, and the URI cannot be mutated after construction. [`Self::basename`],
 * [`Self::parent`], and [`Self::join`] operate on URI path segments without
 * interpreting them using the operating system running Codex. Fallback URIs
 * created by [`Self::from_abs_path`] are opaque to these lexical operations.
 *
 * `file:` paths retain their URI spelling so they can be parsed independently
 * of the current host, except that Windows drive letters are canonicalized to
 * uppercase. A local POSIX `file:` URI can also retain percent-encoded non-UTF-8
 * bytes for lossless native round trips.
 *
 * Like [VS Code resources], path operations use `/` URI separators on every
 * host. Lexical path operations preserve a URL authority without interpreting
 * Windows drive or UNC roots from path text. Native path normalization,
 * filesystem aliases, symlinks, case sensitivity, and Unicode normalization
 * are not resolved.
 *
 * Serde represents a `PathUri` as its canonical URI string. Deserialization
 * accepts only valid `file:` URI strings. These strings round-trip through
 * their canonical URL form, including encoded non-UTF-8 path bytes.
 *
 * [VS Code resources]: https://github.com/microsoft/vscode/blob/main/src/vs/base/common/resources.ts
 */
export type PathUri = string;
