import { BaseModel } from "../BaseModel/BaseModel"; import type { AddToDNDList, DeleteDNDEntry, GetAllDNDList, SuppressionListResponse, SuppressionMutationResponse, UpdateDNDEntry } from "./types"; declare class SuppressionClient extends BaseModel { basePath: string; /** * Retrieves the suppression (DND) list entries for a given type. * Supports filtering by date range, pagination, agent key, and a search value. * * @param dndType - The type of DND entries to retrieve: `"email"` or `"domain"`. * @param dateFrom - Optional start date filter. Accepts a `Date`, ISO string, or timestamp. * @param dateTo - Optional end date filter. Accepts a `Date`, ISO string, or timestamp. * @param limit - Maximum number of entries to return. * @param offset - Number of entries to skip (for pagination). * @param agentKey - Optional agent key to scope results. * @param searchValue - Optional search string to filter entries by value. */ getSuppressionList(props: GetAllDNDList | null): Promise; /** * Adds one or more entries to the suppression (DND) list. * * @param dndType - The type of DND entry: `"email"` or `"domain"`. * @param values - List of email addresses or domain names to suppress. * @param action - Action to apply: `"reject"`, `"suppress"`, or `"suppress_tracking"`. * **Note:** `"suppress_tracking"` is only applicable when `dndType` is `"email"`. * @param agentKeys - Optional list of agent keys to scope the entry. Defaults to all agents. * @param description - Optional description for the entry. */ addSuppressionEntry(props: AddToDNDList | null): Promise; /** * Updates one or more existing entries in the suppression (DND) list. * Accepts the same parameters as `addSuppressionEntry`. */ updateSuppressionEntry(props: UpdateDNDEntry | null): Promise; /** * Removes one or more entries from the suppression (DND) list. * The API responds with `204 No Content` on success, so the resolved value is `void`. * * @param dndType - The type of DND entry to delete: `"email"` or `"domain"`. * @param values - List of email addresses or domain names to remove. */ deleteSuppressionEntry(props: DeleteDNDEntry | null): Promise; private validateValues; private addUpdateDND; } export { SuppressionClient };