/** * WebDAV type definitions */ export type TWebDAVMethod = 'OPTIONS' | 'GET' | 'HEAD' | 'PUT' | 'DELETE' | 'PROPFIND' | 'PROPPATCH' | 'MKCOL' | 'COPY' | 'MOVE' | 'LOCK' | 'UNLOCK'; export type TWebDAVDepth = '0' | '1' | 'infinity'; export interface IWebDAVProperty { namespace: string; name: string; value?: string; } export interface IWebDAVResource { href: string; isCollection: boolean; properties: IWebDAVProperty[]; displayName?: string; contentType?: string; contentLength?: number; lastModified?: Date; creationDate?: Date; etag?: string; } export interface IWebDAVLock { token: string; owner: string; depth: TWebDAVDepth; timeout: number; scope: 'exclusive' | 'shared'; type: 'write'; path: string; created: Date; } export interface IWebDAVContext { method: TWebDAVMethod; depth: TWebDAVDepth; lockToken?: string; destination?: string; overwrite: boolean; timeout?: number; } export declare const DAV_NAMESPACE = "DAV:"; export declare const DAV_PROPERTIES: { readonly creationdate: "creationdate"; readonly displayname: "displayname"; readonly getcontentlanguage: "getcontentlanguage"; readonly getcontentlength: "getcontentlength"; readonly getcontenttype: "getcontenttype"; readonly getetag: "getetag"; readonly getlastmodified: "getlastmodified"; readonly lockdiscovery: "lockdiscovery"; readonly resourcetype: "resourcetype"; readonly supportedlock: "supportedlock"; };