import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import * as i0 from "@angular/core";
/**
 *  IMPORTANT NOTICE TO UI ENGINEERS WHO FIRST WORK WITH THIS
 *
 *  Before this component goes into service, please make sure that the following changes are made to it:
 *
 *  1.  The component itself should be a generic AlDynamicTableComponent<Type=unknown>, such that
 *      all of its event emitters and inputs can be used to work against specific interfaces instead of just `unknown`.
 *      This will also be the default type of the `rows` and `selectedRows` arrays.
 *
 *  2.  Please, create an interface for the columns (and make columns and visibleColumns) and make sure references to them as arrays
 *      are used as arrays instead of just `any`.  In general, kill all the `any`s except where they're appropriate.
 *
 *  3.  There are some unused properties in here -- please scrap them so we can start with cold, hard metal.
 *
 *  4.  Last and not least, please add logic so that *the first time* columns are set, all of them will be selected by default
 *      unless the host specifies otherwise (you may need to add a field to the [not yet created] column interface, or another
 *      @Input(), to make this happen).
 */
export declare class AlDynamicTableComponent implements OnInit, OnChanges {
    onSearched: EventEmitter<string>;
    onDownloadAll: EventEmitter<boolean>;
    onSelected: EventEmitter<unknown>;
    onUnselected: EventEmitter<unknown>;
    onSorted: EventEmitter<string>;
    onRowHover: EventEmitter<unknown>;
    onRowOut: EventEmitter<boolean>;
    onOpenItem: EventEmitter<unknown>;
    onLazyLoad: EventEmitter<unknown>;
    columns: any[];
    rows: any[];
    dataKey: string;
    rowsPerPage: number;
    isVisible: boolean;
    products: any;
    selectedRows: any;
    visibleColumns: any;
    event: any;
    items: any;
    constructor();
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    get selectedColumns(): any[];
    set selectedColumns(val: any[]);
    downloadAll(): void;
    openItem(rowData: any[]): void;
    onMouseEnter(rowData: any[]): void;
    onMouseLeave(): void;
    onRowSelect(event: any): void;
    onRowUnselect(event: any): void;
    onHeaderCheckboxToggle(event: any): void;
    loadItemsLazy(event: any): void;
    customSort(event: any): void;
    onSearchChanged(event: any): void;
    static ɵfac: i0.ɵɵFactoryDef<AlDynamicTableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlDynamicTableComponent, "al-dynamic-table", never, { "columns": "columns"; "rows": "rows"; "dataKey": "dataKey"; "rowsPerPage": "rowsPerPage"; "isVisible": "isVisible"; "selectedColumns": "selectedColumns"; }, { "onSearched": "onSearched"; "onDownloadAll": "onDownloadAll"; "onSelected": "onSelected"; "onUnselected": "onUnselected"; "onSorted": "onSorted"; "onRowHover": "onRowHover"; "onRowOut": "onRowOut"; "onOpenItem": "onOpenItem"; "onLazyLoad": "onLazyLoad"; }, never, never>;
}
