UNPKG

ts-mailcow-api

Version:
36 lines (35 loc) 1.58 kB
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;