ts-mailcow-api
Version:
TypeScript wrapper for the mailcow API.
36 lines (35 loc) • 1.58 kB
TypeScript
import { DomainRatelimit, EditDomainRequest, EditMailboxRequest, MailboxRatelimit, MailcowResponse } from '../types';
import MailcowClient from '../index';
/**
* Interface for all Rate Limit endpoints related to email handling in Mailcow.
*/
export interface RatelimitsEndpoints {
/**
* Edits the rate limits for specified domains.
* @param payload - Object containing rate limit attributes and list of domain names.
* @returns A promise that resolves to a response indicating success or failure.
*/
editDomain(payload: EditDomainRequest): Promise<MailcowResponse>;
/**
* Edits the rate limits for specified mailboxes.
* @param payload - Object containing rate limit attributes and list of mailbox names.
* @returns A promise that resolves to a response indicating success or failure.
*/
editMailbox(payload: EditMailboxRequest): Promise<MailcowResponse>;
/**
* Retrieves the rate limits for a specified domain or all domains.
*/
getDomain(domain: string): Promise<DomainRatelimit[]>;
getDomain(domain: 'all'): Promise<DomainRatelimit[]>;
/**
* Retrieves the rate limits for a specified mailbox or all mailboxes.
*/
getMailbox(mailbox: string): Promise<MailboxRatelimit[]>;
getMailbox(mailbox: 'all'): Promise<MailboxRatelimit[]>;
}
/**
* Binder function between the MailcowClient class and the RatelimitsEndpoints.
* @param bind - The MailcowClient instance to bind.
* @internal
*/
export declare function ratelimitsEndpoints(bind: MailcowClient): RatelimitsEndpoints;