import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { Params } from '@angular/router';
import { Subject, Subscription } from 'rxjs';
import { DataRequestError, DataRequestReply } from '../../../interfaces/DisplayInterfaces';
import { WidgetConfiguration } from '../../../interfaces/WidgetInterfaces';
import { AppStateService } from '../../../services/AppStateService';
import { ClientSettingsService } from '../../../services/ClientSettingsService';
import { DisplayStateService } from '../../../services/DisplayStateService';
import { WebPlatformApiService } from '../../../services/WebPlatformApiService';
export declare class BaseWidget implements OnInit, OnDestroy {
    protected element: ElementRef;
    protected clientSettingsService: ClientSettingsService;
    protected displayStateService: DisplayStateService;
    protected appStateService: AppStateService;
    protected webPlatformApiService: WebPlatformApiService;
    Config: WidgetConfiguration;
    heightSpec: string;
    protected ngUnsubscribe: Subject<boolean>;
    protected statechanged$: Subscription;
    protected messageHouseListener$: Subscription;
    protected dataAvailableListener$: Subscription;
    protected dataErrorListener$: Subscription;
    minimumVersionProblem: string;
    constructor(element: ElementRef, clientSettingsService: ClientSettingsService, displayStateService: DisplayStateService, appStateService: AppStateService, webPlatformApiService: WebPlatformApiService);
    ngOnInit(): void;
    minimumApiVersion(): number[];
    onDataAvailable(reply: DataRequestReply): void;
    onDataError(error: DataRequestError): void;
    onInitialize(): void;
    onNewMessage(messageParams: Params): void;
    onTabDeactivated(): void;
    onTabActivated(): void;
    onContextChanged(currentContext: Params): void;
    onFiltersChanged(currentFilters: Params): void;
    onSortsChanged(currentSorts: Params): void;
    onStateChanged(eventName: string): void;
    ngOnDestroy(): void;
}
