import { addressBookMultiGet as rawAddressBookMultiGet, addressBookQuery as rawAddressBookQuery, createVCard as rawCreateVCard, deleteVCard as rawDeleteVCard, fetchAddressBooks as rawFetchAddressBooks, fetchVCards as rawFetchVCards, updateVCard as rawUpdateVCard } from './addressBook'; import { calendarMultiGet as rawCalendarMultiGet, calendarQuery as rawCalendarQuery, createCalendarObject as rawCreateCalendarObject, deleteCalendarObject as rawDeleteCalendarObject, fetchCalendarObjects as rawFetchCalendarObjects, fetchCalendars as rawFetchCalendars, makeCalendar as rawMakeCalendar, updateCalendarObject as rawUpdateCalendarObject, fetchCalendarUserAddresses as rawFetchCalendarUserAddresses } from './calendar'; import { collectionQuery as rawCollectionQuery, isCollectionDirty as rawIsCollectionDirty, makeCollection as rawMakeCollection, supportedReportSet as rawSupportedReportSet, syncCollection as rawSyncCollection } from './collection'; import { createObject as rawCreateObject, deleteObject as rawDeleteObject, propfind as rawPropfind, updateObject as rawUpdateObject } from './request'; import { DAVRequest, DAVResponse } from './types/DAVTypes'; import { SmartCollectionSync, SmartCollectionSyncDetailed, SmartCollectionSyncDetailedResult, SyncCalendars, SyncCalendarsDetailed, SyncCalendarsDetailedResult } from './types/functionsOverloads'; import { DAVAccount, DAVAddressBook, DAVCalendar, DAVCalendarObject, DAVCollection, DAVCredentials, DAVVCard } from './types/models'; import { Optional } from './util/typeHelpers'; export declare const createDAVClient: (params: { serverUrl: string; credentials: DAVCredentials; authMethod?: "Basic" | "Oauth" | "Digest" | "Custom" | "Bearer"; authFunction?: (credentials: DAVCredentials) => Promise>; defaultAccountType?: DAVAccount["accountType"] | undefined; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; }) => Promise<{ davRequest: (params0: { url: string; init: DAVRequest; convertIncoming?: boolean; parseOutgoing?: boolean; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; }) => Promise; propfind: (params: { url: string; props: import("xml-js").ElementCompact; depth?: import("./types/DAVTypes").DAVDepth; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof import("./util/fetch").fetch; }) => Promise; createAccount: (params0: { account: Optional; headers?: Record; loadCollections?: boolean; loadObjects?: boolean; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; }) => Promise; createObject: (params: { url: string; data: BodyInit; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof import("./util/fetch").fetch; }) => Promise; updateObject: (params: { url: string; data: BodyInit; etag?: string; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof import("./util/fetch").fetch; }) => Promise; deleteObject: (params: { url: string; etag?: string; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof import("./util/fetch").fetch; }) => Promise; calendarQuery: (params: { url: string; props: import("xml-js").ElementCompact; filters?: import("xml-js").ElementCompact; timezone?: string; depth?: import("./types/DAVTypes").DAVDepth; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; addressBookQuery: (params: { url: string; props: import("xml-js").ElementCompact; filters?: import("xml-js").ElementCompact; depth?: import("./types/DAVTypes").DAVDepth; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; collectionQuery: (params: { url: string; body: any; depth?: import("./types/DAVTypes").DAVDepth; defaultNamespace?: import("./consts").DAVNamespaceShort; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; makeCollection: (params: { url: string; props?: import("xml-js").ElementCompact; depth?: import("./types/DAVTypes").DAVDepth; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; calendarMultiGet: (params: { url: string; props: import("xml-js").ElementCompact; objectUrls?: string[]; timezone?: string; depth: import("./types/DAVTypes").DAVDepth; filters?: import("xml-js").ElementCompact; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; makeCalendar: (params: { url: string; props: import("xml-js").ElementCompact; depth?: import("./types/DAVTypes").DAVDepth; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; syncCollection: (params: { url: string; props: import("xml-js").ElementCompact; headers?: Record; headersToExclude?: string[]; syncLevel?: number; syncToken?: string; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; supportedReportSet: (params: { collection: DAVCollection; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; isCollectionDirty: (params: { collection: DAVCollection; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise<{ isDirty: boolean; newCtag: string; }>; smartCollectionSync: SmartCollectionSync; smartCollectionSyncDetailed: SmartCollectionSyncDetailed; fetchCalendars: (params?: { account?: DAVAccount; props?: import("xml-js").ElementCompact; projectedProps?: Record; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; } | undefined) => Promise; fetchCalendarUserAddresses: (params: { account: DAVAccount; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; fetchCalendarObjects: (params: { calendar: DAVCalendar; objectUrls?: string[]; filters?: import("xml-js").ElementCompact; timeRange?: { start: string; end: string; }; expand?: boolean; urlFilter?: (url: string) => boolean; headers?: Record; headersToExclude?: string[]; useMultiGet?: boolean; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; createCalendarObject: (params: { calendar: DAVCalendar; iCalString: string; filename: string; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; updateCalendarObject: (params: { calendarObject: DAVCalendarObject; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; deleteCalendarObject: (params: { calendarObject: DAVCalendarObject; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; syncCalendars: SyncCalendars; syncCalendarsDetailed: SyncCalendarsDetailed; fetchAddressBooks: (params?: { account?: DAVAccount; props?: import("xml-js").ElementCompact; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; } | undefined) => Promise; addressBookMultiGet: (params: { url: string; props: import("xml-js").ElementCompact; objectUrls: string[]; depth: import("./types/DAVTypes").DAVDepth; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; fetchVCards: (params: { addressBook: DAVAddressBook; headers?: Record; objectUrls?: string[]; urlFilter?: (url: string) => boolean; useMultiGet?: boolean; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; createVCard: (params: { addressBook: DAVAddressBook; vCardString: string; filename: string; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; updateVCard: (params: { vCard: DAVVCard; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; deleteVCard: (params: { vCard: DAVVCard; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof fetch; }) => Promise; }>; export declare class DAVClient { serverUrl: string; credentials: DAVCredentials; authMethod: 'Basic' | 'Oauth' | 'Digest' | 'Custom' | 'Bearer'; accountType: DAVAccount['accountType']; authHeaders?: Record; account?: DAVAccount; fetchOptions?: RequestInit; fetchOverride?: typeof globalThis.fetch; authFunction?: (credentials: DAVCredentials) => Promise>; constructor(params: { serverUrl: string; credentials: DAVCredentials; authMethod?: 'Basic' | 'Oauth' | 'Digest' | 'Custom' | 'Bearer'; authFunction?: (credentials: DAVCredentials) => Promise>; defaultAccountType?: DAVAccount['accountType'] | undefined; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; }); login(options?: { loadCollections?: boolean; loadObjects?: boolean; }): Promise; davRequest(params0: { url: string; init: DAVRequest; convertIncoming?: boolean; parseOutgoing?: boolean; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; }): Promise; createObject(...params: Parameters): Promise; updateObject(...params: Parameters): Promise; deleteObject(...params: Parameters): Promise; propfind(...params: Parameters): Promise; createAccount(params0: { account: Optional; headers?: Record; loadCollections?: boolean; loadObjects?: boolean; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; }): Promise; collectionQuery(...params: Parameters): Promise; makeCollection(...params: Parameters): Promise; syncCollection(...params: Parameters): Promise; supportedReportSet(...params: Parameters): Promise; isCollectionDirty(...params: Parameters): Promise<{ isDirty: boolean; newCtag: string; }>; smartCollectionSync(param: { collection: T; method?: 'basic' | 'webdav'; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; account?: DAVAccount; /** @deprecated Use smartCollectionSyncDetailed instead. */ detailedResult?: false; }): Promise; smartCollectionSync(param: { collection: T; method?: 'basic' | 'webdav'; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; account?: DAVAccount; /** @deprecated Use smartCollectionSyncDetailed instead. */ detailedResult: true; }): Promise>; smartCollectionSync(param: { collection: T; method?: 'basic' | 'webdav'; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; account?: DAVAccount; /** @deprecated Use smartCollectionSyncDetailed instead. */ detailedResult?: boolean; }): Promise>; smartCollectionSyncDetailed(param: { collection: T; method?: 'basic' | 'webdav'; headers?: Record; headersToExclude?: string[]; fetchOptions?: RequestInit; fetch?: typeof globalThis.fetch; account?: DAVAccount; }): Promise>; calendarQuery(...params: Parameters): Promise; makeCalendar(...params: Parameters): Promise; calendarMultiGet(...params: Parameters): Promise; fetchCalendars(...params: Parameters): Promise; fetchCalendarUserAddresses(...params: Parameters): Promise; fetchCalendarObjects(...params: Parameters): Promise; createCalendarObject(...params: Parameters): Promise; updateCalendarObject(...params: Parameters): Promise; deleteCalendarObject(...params: Parameters): Promise; syncCalendars(...params: Parameters): Promise>; syncCalendarsDetailed(...params: Parameters): Promise; addressBookQuery(...params: Parameters): Promise; addressBookMultiGet(...params: Parameters): Promise; fetchAddressBooks(...params: Parameters): Promise; fetchVCards(...params: Parameters): Promise; createVCard(...params: Parameters): Promise; updateVCard(...params: Parameters): Promise; deleteVCard(...params: Parameters): Promise; }