import type { NetworkClient } from "@johnqh/di"; import type { CreateMailboxRequest, GetMailboxesRequest, GetMessagesRequest, WildduckAddressResponse, WildduckAuthenticateRequest, WildduckAuthResponse, WildduckAutoreplyRequest, WildduckAutoreplyResponse, WildduckConfig, WildduckCreateUserRequest, WildduckCreateUserResponse, WildduckForwardMessageRequest, WildduckMailboxResponse, WildduckMessageResponse, WildduckMessagesResponse, WildduckPreAuthRequest, WildduckPreAuthResponse, WildduckSubmitMessageRequest, WildduckSubmitMessageResponse, WildduckSuccessResponse, WildduckUpdateMailboxRequest, WildduckUpdateMessageRequest, WildduckUpdateMessageResponse, WildduckUpdateUserRequest, WildduckUploadMessageRequest, WildduckUploadMessageResponse, WildduckUserAuth, WildduckUserResponse } from "@johnqh/types"; declare class WildduckAPI { private baseUrl; private headers; private apiToken; private userToken; private networkClient; private useCloudflare; private config; constructor(networkClient: NetworkClient, config: WildduckConfig); private updateHeaders; setUserToken(token: string): void; clearUserToken(): void; loadUserTokenFromStorage(username: string): boolean; private request; preAuth(request: WildduckPreAuthRequest): Promise; authenticate(request: WildduckAuthenticateRequest): Promise; authenticateWithPassword(username: string, password: string, scope?: string): Promise; getUser(userAuth: WildduckUserAuth): Promise; getMailboxes(userAuth: WildduckUserAuth, options?: Omit): Promise; getMessages(userAuth: WildduckUserAuth, mailboxId: string, options?: Omit): Promise; getMessage(userAuth: WildduckUserAuth, messageId: string): Promise; getAddresses(userAuth: WildduckUserAuth): Promise; createMailbox(userAuth: WildduckUserAuth, request: CreateMailboxRequest): Promise; createUser(request: WildduckCreateUserRequest): Promise; updateUser(userAuth: WildduckUserAuth, request: WildduckUpdateUserRequest): Promise; deleteUser(userAuth: WildduckUserAuth): Promise; getMailbox(userAuth: WildduckUserAuth, mailboxId: string): Promise; updateMailbox(userAuth: WildduckUserAuth, mailboxId: string, request: WildduckUpdateMailboxRequest): Promise; deleteMailbox(userAuth: WildduckUserAuth, mailboxId: string): Promise; getMessageFromMailbox(userAuth: WildduckUserAuth, mailboxId: string, messageId: number, options?: { replaceCidLinks?: boolean; markAsSeen?: boolean; }): Promise; uploadMessage(userAuth: WildduckUserAuth, mailboxId: string, request: WildduckUploadMessageRequest): Promise; updateMessage(userAuth: WildduckUserAuth, mailboxId: string, messageId: number, request: WildduckUpdateMessageRequest): Promise; deleteMessage(userAuth: WildduckUserAuth, mailboxId: string, messageId: number): Promise; getMessageSource(userAuth: WildduckUserAuth, mailboxId: string, messageId: number): Promise; getMessageAttachment(userAuth: WildduckUserAuth, mailboxId: string, messageId: number, attachmentId: string): Promise; forwardMessage(userAuth: WildduckUserAuth, mailboxId: string, messageId: number, request: WildduckForwardMessageRequest): Promise; submitDraft(userAuth: WildduckUserAuth, mailboxId: string, messageId: number): Promise; submitMessage(userAuth: WildduckUserAuth, request: WildduckSubmitMessageRequest): Promise; getAutoreply(userAuth: WildduckUserAuth): Promise; updateAutoreply(userAuth: WildduckUserAuth, request: WildduckAutoreplyRequest): Promise; deleteAutoreply(userAuth: WildduckUserAuth): Promise; } declare const createWildduckAPI: (networkClient: NetworkClient, config: WildduckConfig) => WildduckAPI; export { WildduckAPI }; declare const isValidObjectId: (id: string) => boolean; declare const emailToUserId: (emailAddress: string) => string; declare const validateUserId: (userId: string) => string; export { createWildduckAPI, emailToUserId, validateUserId, isValidObjectId }; //# sourceMappingURL=wildduck-client.d.ts.map