import { InappNotification, InAppOptions, InitOptions, NotificationAPIClientInterface, Preference, UserPreferencesOptions, WS_ANY_VALID_REQUEST, WS_NewNotificationsResponse, WS_NotificationsResponse, WS_UnreadCountResponse, WS_UserPreferencesResponse, UserParams } from './interfaces'; declare class NotificationAPIClient implements NotificationAPIClientInterface { state: NotificationAPIClientInterface['state']; elements: NotificationAPIClientInterface['elements']; websocket?: WebSocket; websocketHandlers: { notifications: (message: WS_NotificationsResponse) => void; newNotifications: (message: WS_NewNotificationsResponse) => void; unreadCount: (message: WS_UnreadCountResponse) => void; userPreferences: (message: WS_UserPreferencesResponse) => void; }; destroy: () => void; constructor(options: InitOptions); identify: (user: UserParams) => Promise; askForWebPushPermission: () => void; showInApp: (options: InAppOptions) => void; requestMoreNotifications(): void; showUserPreferences(options?: UserPreferencesOptions): void; getUserPreferences(): Promise; patchUserPreference(notificationId: string, channel: string, state: boolean, subNotificationId?: string): void; openInAppPopup(): void; readAll(): void; closeInAppPopup(): void; setInAppUnread(count: number): void; addNotificationsToState(notifications: InappNotification[]): void; getPageCount(): number; changePage(pageNumber: number): void; renderNotifications(): void; generateNotificationElement(n: InappNotification): HTMLAnchorElement; renderPreferences(preferences: Preference[]): void; renderWebPushOptIn(): void; sendWSMessage(request: WS_ANY_VALID_REQUEST): void; websocketMessageReceived(route: string): Promise; websocketOpened(): Promise; } export default NotificationAPIClient;