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';
export declare class ResourceDataGridComponent implements OnInit {
    set grid(grid: ElementRef<HTMLElement>);
    context: UsageContext;
    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;
    }[];
    onSelect(item: DataItemBase): void;
    setDisplayMode(mode: DisplayMode): void;
    keywordChange(keyword: string): void;
    filterDisabledData(data: DataItemBase[], context: UsageContext): DataItem[];
}
