import { EventEmitter } from '../../stencil-public-runtime';
import { Notification } from '../../types/nuts-inbox-widget.types';
export declare class NutsInboxWidget {
    /**
     * HTTP Endpoint URL for NuTS
     */
    backendUrl: string;
    /**
     * Socket Endpoint URL for NuTS
     */
    socketUrl: string;
    /**
     * The ID of the user
     */
    userId: string;
    /**
     * The sessionID of the user
     */
    sessionId: string;
    /**
     * The operatorID on which we can find the user
     */
    operatorId: string;
    /**
     * The subscriberID
     */
    subscriberId?: string;
    /**
     * The deviceID from which the user access the website
     */
    deviceId?: string;
    /**
     * Language of the widget
     */
    language: string;
    /**
     * Environment on which the widget is used (possible values: `stage`, `prod`)
     */
    environment: string;
    /**
     * Novu application identifier
     */
    applicationIdentifier: string;
    /**
     * Client custom styling via inline styles
     */
    clientStyling: string;
    /**
     * Client styling url for a css file
     */
    clientStylingUrl: string;
    /**
     * Position of the widget (possible values: `left` and `right`) - this changes the `justify-content` property of the `.BellIconWrapper` class
     */
    bellIconPosition: string;
    /**
     * Clicking on the notification will automatically redirect you to the redirectURL attached to the notification (`default` behaviour). It can be changed to `postMessage` and instead of the redirect it will emit a postMessage with the redirectURL and the parent website can take actions
     */
    notificationAction: string;
    /**
     * Translations via URL
     */
    translationUrl: string;
    private stylingContainer;
    private isLoading;
    private popoverVisible;
    private unseenCount;
    private socketRef;
    private bellIconRef;
    private token;
    private baseUrl;
    private initializeSessionBody;
    notificationFeed: EventEmitter<Notification[]>;
    newNotification: EventEmitter<any>;
    initializeHandler(newValue: string, oldValue: string): void;
    el: HTMLElement;
    clickOutsideHandle(ev: MouseEvent): void;
    resetUnseenCount(): void;
    closePopoverHandler(): void;
    positionIcon(): void;
    setupSocket(): void;
    togglePopover: () => void;
    setClientStyling: () => void;
    setClientStylingURL: () => void;
    init(): Promise<void>;
    handleStylingChange(newValue: string, oldValue: string): void;
    handleStylingUrlChange(newValue: string, oldValue: string): void;
    handleNewTranslations(): void;
    componentWillLoad(): Promise<void>;
    componentDidRender(): void;
    componentDidLoad(): void;
    assignRefToStylingContainer: (ref: HTMLElement) => void;
    assignRefToBell: (ref: HTMLElement) => void;
    renderBellIcon(): HTMLElement;
    render(): any;
}
