//#region src/server/http-range.d.ts
type ByteRange = {
  kind: "ignore";
} | {
  kind: "unsatisfiable";
} | {
  kind: "range";
  start: number;
  end: number;
};
/**
 * Parse a single bytes range. Unsupported range units, malformed values, and
 * multipart ranges are ignored, which RFC 9110 permits servers to do.
 */
declare function parseByteRange(value: string | undefined, size: number): ByteRange;
/**
 * If-Range requires strong entity-tag comparison. Date validators are matched
 * at HTTP-date (whole-second) precision because filesystem mtimes are finer,
 * and allow a range when the representation has not changed since that date.
 * Vinext's static ETags are currently weak, so its emitted Last-Modified value
 * is the validator that can enable a range response on a later request.
 */
declare function ifRangeAllowsRange(value: string | undefined, etag: string, mtimeMs: number): boolean;
//#endregion
export { ByteRange, ifRangeAllowsRange, parseByteRange };