import { AjaxCall, AjaxError, BackgroundJobPollingStatus, InitModelOf, JsonErrorResponse, PropertyEventEmitter, TopicDo, UiNotificationDo, UiNotificationPollerEventMap, UiNotificationResponse, UiNotificationSystem } from '../index';
export declare class UiNotificationPoller extends PropertyEventEmitter {
    eventMap: UiNotificationPollerEventMap;
    self: UiNotificationPoller;
    /**
     * Configures in milliseconds the time to wait after a connection error occurs, before the polling will be retried.
     */
    static RETRY_INTERVAL: number;
    /**
     * The number of notifications per topic that should be kept until the topic is unsubscribed.
     */
    static HISTORY_COUNT: number;
    protected static DEFAULT_BACKEND_TIMEOUT: number;
    protected static BACKEND_TIMEOUT_OFFSET: number;
    /**
     * Configures in milliseconds how long the connection is allowed to stay open before it will be aborted.
     * This is more like a last resort timeout, the server will release the connection earlier (see scout.uinotification.waitTimeout).
     */
    requestTimeout: number;
    status: BackgroundJobPollingStatus;
    /**
     * Stores the received notifications per topic and per cluster node but not more than {@link UiNotificationPoller.HISTORY_COUNT}.
     */
    notifications: Map<string, Map<string, UiNotificationDo[]>>;
    url: string;
    system: UiNotificationSystem;
    protected _call: AjaxCall;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    setTopics(topics: string[]): void;
    get topics(): string[];
    get topicsWithLastNotifications(): TopicDo[];
    restart(): void;
    start(): void;
    stop(): void;
    poll(): void;
    protected _schedulePoll(timeout?: number): void;
    protected _poll(): void;
    protected _onSuccess(response: UiNotificationResponse): void;
    protected _onSuccessError(error: JsonErrorResponse): void;
    protected _onError(error: AjaxError): void;
    setStatus(status: BackgroundJobPollingStatus): void;
}
//# sourceMappingURL=UiNotificationPoller.d.ts.map