import { ElementRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { Observable, ReplaySubject } from 'rxjs';
import { UsageContext } from '../../base-list';
import { ConfigurableField, DataItem, DataItemBase, DataType, DisplayMode } from '../../types';
import * as i0 from "@angular/core";
export declare class ResourceDataGridComponent implements OnInit {
    set grid(grid: ElementRef<HTMLElement>);
    context: UsageContext;
    popupLite: boolean;
    data: DataItemBase[];
    data$: Observable<DataItemBase[]>;
    type: DataType;
    fields: ConfigurableField[];
    actionTemplateRef: TemplateRef<any>;
    selectedUid: string;
    loading: boolean;
    selectItem: EventEmitter<DataItemBase>;
    filter: EventEmitter<string>;
    reload: EventEmitter<void>;
    keyword: string;
    fieldsDef: typeof ConfigurableField;
    displayMode: DisplayMode;
    filter$: ReplaySubject<string>;
    private readonly displayModeKey;
    displayData$: Observable<DataItemBase[]>;
    private scrollInitialized;
    statusIcon: Record<string, string>;
    ngOnInit(): void;
    private initScroll;
    getHighlightedNameStrs: (item: DataItemBase) => {
        text: string;
        isHighlighted?: boolean;
    }[];
    getHighlightedDisplayNameStrs: (item: DataItemBase) => {
        text: string;
        isHighlighted?: boolean;
    }[];
    onSelect(item: DataItemBase): void;
    setDisplayMode(mode: DisplayMode): void;
    keywordChange(keyword: string): void;
    filterDisabledData(data: DataItemBase[], context: UsageContext): DataItem[];
    sortWithoutIstio: (data: DataItemBase[]) => DataItemBase[];
    pluralForm(type: DataType): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResourceDataGridComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ResourceDataGridComponent, "acl-resource-data-grid", never, { "context": { "alias": "context"; "required": false; }; "popupLite": { "alias": "popupLite"; "required": false; }; "data": { "alias": "data"; "required": false; }; "type": { "alias": "type"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "actionTemplateRef": { "alias": "actionTemplateRef"; "required": false; }; "selectedUid": { "alias": "selectedUid"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "selectItem": "selectItem"; "filter": "filter"; "reload": "reload"; }, never, ["[aclResourceGridHeader]"], false, never>;
}
