/** * WebDAV protocol handler * Implements RFC 4918 for network drive mounting */ import type { IWebDAVConfig } from '../../core/smartserve.interfaces.js'; /** * WebDAV handler for serving files with WebDAV protocol */ export declare class WebDAVHandler { private config; private locks; constructor(config: IWebDAVConfig); /** * Check if request is a WebDAV request */ isWebDAVRequest(request: Request): boolean; /** * Handle WebDAV request */ handle(request: Request): Promise; /** * Parse WebDAV-specific headers into context */ private parseContext; /** * Parse timeout header */ private parseTimeout; /** * Resolve file path */ private resolvePath; /** * Handle OPTIONS request */ private handleOptions; /** * Handle PROPFIND request */ private handlePropfind; /** * Recursively collect resources for infinite depth */ private collectResources; /** * Convert fs.Stats to WebDAV resource */ private statToResource; /** * Handle PROPPATCH request (property modification) */ private handleProppatch; /** * Handle MKCOL request (create directory) */ private handleMkcol; /** * Handle COPY request */ private handleCopy; /** * Recursively copy directory */ private copyDirectory; /** * Handle MOVE request */ private handleMove; /** * Handle LOCK request */ private handleLock; /** * Handle UNLOCK request */ private handleUnlock; /** * Handle GET/HEAD request */ private handleGet; /** * Handle PUT request (file upload) */ private handlePut; /** * Handle DELETE request */ private handleDelete; /** * Check if a path is locked */ private isLocked; /** * Check if token matches lock */ private hasValidLock; }