import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
import { AlertApi } from '../AlertApi';
import { AlertDefinition, AlertProperties, AlertState } from '../../AdaptableState/AlertState';
import { AdaptableAlert } from '../../AdaptableState/Common/AdaptableAlert';
import { AdaptableMessageType } from '../../AdaptableState/Common/AdaptableMessageType';
import { AdaptableObjectLookupCriteria } from '../../AdaptableState/Common/AdaptableObject';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
import { AlertInternalApi } from '../Internal/AlertInternalApi';
export declare class AlertApiImpl extends ApiBase implements AlertApi {
    internalApi: AlertInternalApi;
    constructor(_adaptable: IAdaptable);
    getAlertState(): AlertState;
    getAlertDefinitions(config?: LayoutAssociatedObjectLoadConfig): AlertDefinition[];
    getSuspendedAlertDefinitions(config?: {
        includeLayoutNotAssociatedObjects?: boolean;
    }): AlertDefinition[];
    getActiveAlertDefinitions(config?: {
        includeLayoutNotAssociatedObjects?: boolean;
    }): AlertDefinition[];
    deleteAlertDefinition(alertDefinition: AlertDefinition): void;
    getAlertDefinitionById(id: AlertDefinition['Uuid']): AlertDefinition;
    addAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
    displayAdaptableAlert(alertToShow: AdaptableAlert): Promise<void>;
    displayAdaptableAlertNotification(alert: AdaptableAlert): void;
    showAlert(alertHeader: string, alertMessage: string, messageType: AdaptableMessageType, alertProperties?: AlertProperties): Promise<void>;
    showAlertInfo(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
    showAlertSuccess(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
    showAlertWarning(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
    showAlertError(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
    openAlertSettingsPanel(): void;
    editAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
    suspendAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
    suspendAllAlertDefinition(): void;
    unSuspendAllAlertDefinition(): void;
    unSuspendAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
    evaluateAlertDefinitions(alertDefinitions: AlertDefinition[]): void;
    findAlertDefinitions(criteria: AdaptableObjectLookupCriteria): AlertDefinition[];
    private getRelevantColumnIdsForAlertDefinition;
    private createCellDataChangeInfoStubs;
}
