import type { APIClient } from '@ffflorian/api-client'; 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: APIClient); createComponentSubscription(emailSubscriber: ComponentSubscriberData & EmailSubscriberData): Promise; createComponentSubscription(smsSubscriber: ComponentSubscriberData & PhoneSubscriberData): Promise; createComponentSubscription(webhookSubscriber: ComponentSubscriberData & WebhookSubscriberData): 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. */ createIncidentSubscription(emailSubscriber: EmailSubscriberData & IncidentSubscriberData): Promise; createIncidentSubscription(smsSubscriber: IncidentSubscriberData & PhoneSubscriberData): Promise; createIncidentSubscription(webhookSubscriber: IncidentSubscriberData & WebhookSubscriberData): Promise; /** * A page subscriber is by default subscribed to all incidents associated with a page. */ createPageSubscription(emailSubscriber: EmailSubscriberData): Promise; createPageSubscription(smsSubscriber: PhoneSubscriberData): Promise; createPageSubscription(webhookSubscriber: WebhookSubscriberData): Promise; /** * @param subscriberId The subscriber ID. */ getSubscription(subscriberId: string): Promise; /** * To cancel a subscription, you need to submit a 'DELETE' request with the the subscription id. */ removeSubscription(subscriberId: string): Promise; }