import { Headers, ProgressEventCallback } from 'webdav'; import { DavPropertyValue } from '../constants'; import { DavPropertyRecord } from './builders'; import { WebDavResponseResource } from '../../helpers'; export interface DAVOptions { baseUrl: string; headers?: () => Headers; } export interface DavResult { body: WebDavResponseResource[] | undefined; status: number; result: Response; } export type DAVRequestOptions = { headers?: Headers; signal?: AbortSignal; }; export declare class DAV { private client; private davPath; private headers; extraProps: string[]; constructor({ baseUrl, headers }: DAVOptions); mkcol(path: string, opts?: DAVRequestOptions): Promise; propfind(path: string, { depth, properties, extraProps, headers, ...opts }?: { depth?: number; properties?: DavPropertyValue[]; /** Namespaced props for this request only, on top of the globally registered ones. */ extraProps?: string[]; } & DAVRequestOptions): Promise; report(path: string, { pattern, filterRules, limit, properties, ...opts }?: { pattern?: string; filterRules?: Partial>; limit?: number; properties?: DavPropertyValue[]; } & DAVRequestOptions): Promise<{ results: WebDavResponseResource[]; range: string; }>; copy(source: string, target: string, { overwrite, headers, ...opts }?: { overwrite?: boolean; } & DAVRequestOptions): Promise; move(source: string, target: string, { overwrite, headers, ...opts }?: { overwrite?: boolean; } & DAVRequestOptions): Promise; put(path: string, content: string | ArrayBuffer, { headers, onUploadProgress, previousEntityTag, overwrite, ...opts }?: { onUploadProgress?: ProgressEventCallback; previousEntityTag?: string; overwrite?: boolean; } & DAVRequestOptions): Promise; delete(path: string, opts?: DAVRequestOptions): Promise; propPatch(path: string, properties: DavPropertyRecord, { extraProps, ...opts }?: { /** Namespaced props for this request only, on top of the globally registered ones. */ extraProps?: string[]; } & DAVRequestOptions): Promise; getFileUrl(path: string): string; private buildHeaders; private request; }