import type { AxiosInstance } from 'axios'; import type { ComponentSubscriberData, EmailSubscriberData, IncidentSubscriberData, PhoneSubscriberData, WebhookSubscriberData } from '../interfaces/Request'; import type { CombinedSubscriber, EmailSubscriber, PhoneSubscriber, WebhookSubscriber } from '../interfaces/Result'; export declare class SubscribersAPI { private readonly apiClient; constructor(apiClient: AxiosInstance); /** * @param options Subscriber options. */ createComponentSubscription(emailSubscriber: EmailSubscriberData & ComponentSubscriberData): Promise; createComponentSubscription(smsSubscriber: PhoneSubscriberData & ComponentSubscriberData): Promise; createComponentSubscription(webhookSubscriber: WebhookSubscriberData & ComponentSubscriberData): Promise; /** * When an incident is created, a subscriber can be associated * to that incident to receive notifications on updates until the * incident is resolved. The incident must be in an unresolved * state to subscribe to it. * @param options Subscriber options. */ createIncidentSubscription(emailSubscriber: EmailSubscriberData & IncidentSubscriberData): Promise; createIncidentSubscription(smsSubscriber: PhoneSubscriberData & IncidentSubscriberData): Promise; createIncidentSubscription(webhookSubscriber: WebhookSubscriberData & IncidentSubscriberData): Promise; /** * A page subscriber is by default subscribed to all incidents associated with a page. * @param options Subscriber options. */ createPageSubscription(emailSubscriber: EmailSubscriberData): Promise; createPageSubscription(smsSubscriber: PhoneSubscriberData): Promise; createPageSubscription(webhookSubscriber: WebhookSubscriberData): Promise; /** * @param options Subscriber options. */ getSubscription(subscriberId: string): Promise; /** * To cancel a subscription, you need to submit a 'DELETE' request with the the subscription id. */ removeSubscription(subscriberId: string): Promise; }