import type { Logger } from '@budarin/pluggable-serviceworker'; import type { GlobPattern, RangeHeaderValue, UrlString } from './types.js'; export declare function parseUrlSafely(url: string): URL | null; export interface Range { start: number; end: number; } export interface IfRangeMetadata { etag?: string; lastModified?: string; } export declare function parseRangeHeader(rangeHeader: RangeHeaderValue, fullSize: number): Range; export declare function getRangeRequestSource(request: Request, cachedMetadata: IfRangeMetadata): 'cache' | 'network'; export declare function ifRangeMatches(ifRangeValue: string, metadata: IfRangeMetadata): boolean; export declare function shouldCacheRange(range: Range, maxCacheableRangeSize: number): boolean; export declare function normalizeToPathname(entry: string): string; export declare function isGlobPattern(pattern: string): boolean; export interface NormalizedIncludeExclude { include: string[]; exclude: string[]; sameOriginOnly: boolean; } export declare function normalizeIncludeExclude(include?: string[], exclude?: string[], scopeOrigin?: string): NormalizedIncludeExclude; export declare function matchesGlob(url: UrlString, pattern: GlobPattern): boolean; export declare function shouldProcessFile(pathnameOrUrl: string, include?: GlobPattern[], exclude?: GlobPattern[]): boolean; export interface CreateRangeStreamOptions { enableLogging?: boolean; pathname?: string; logger: Logger; } export declare function createRangeStream(sourceStream: ReadableStream, range: Range, options: CreateRangeStreamOptions, signal?: AbortSignal): ReadableStream;