import { LitElement } from 'lit';
import { Alert } from '../../types.js';
import '../icon-button/icon-button.js';
import '../button/button.js';
import '../../icons/icon-silence-iec.js';
import '../../icons/icon-alerts.js';
import '../../icons/icon-alerts-shelf.js';
import '../../icons/icon-alerts-active.js';
import '../../icons/icon-alarm-rectified-iec.js';
import '../../icons/icon-unacknowledged.js';
import '../../icons/icon-alarm-noack-iec.js';
import '../../icons/icon-warning-noack-iec.js';
import '../alert-icon/alert-icon.js';
import '../scrollbar/scrollbar.js';
export declare enum AlertListMode {
    UNACKED = "unacked",
    ALL = "all",
    SHELVED = "shelved",
    BLOCKED = "blocked",
    RECTIFIED = "rectified"
}
export type ObcAckClickEvent = CustomEvent<{
    alert: Alert;
}>;
export type ObcRowClickEvent = CustomEvent<{
    alert: Alert;
}>;
export declare function getAlertListModeData(selectedMode: AlertListMode): {
    name: AlertListMode;
    title: string;
    emptyTitle: string;
    emptyIcon: import('lit-html').TemplateResult<1>;
    filter: (alert: Alert) => boolean;
};
export declare function canAckFilter(filter: (alert: Alert) => boolean): (alert: Alert) => boolean;
/**
 * @fires ack-click {ObcAckClickEvent} - Fired when the user clicks the "ACK" button.
 * @fires row-click {ObcRowClickEvent} - Fired when the user clicks a row.
 */
export declare class ObcAlertListDetails extends LitElement {
    selectedMode: AlertListMode;
    alerts: Alert[];
    showTime: boolean;
    timeFormatter: (time: Date) => string;
    small: boolean;
    private alertList;
    getVisibleAlerts(): Alert[];
    private onRowClick;
    private onCellButtonClick;
    private get columns();
    private get metadata();
    private get filteredAlerts();
    render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-alert-list-details': ObcAlertListDetails;
    }
}
//# sourceMappingURL=alert-list-details.d.ts.map