import { EventEmitter, OnInit, OnChanges } from "@angular/core";
import { TableViewSorting } from "./table-view-sorting";
import { TableFilterInterface } from "./filters/table-filter-interface";
import { TableTransformerInterface } from "./common/table-transformer-interface";
import { TableColumnInterface } from "./columns/table-column-interface";
import { TableActionInterface } from "./actions/table-action-interface";
import { TableViewPagination } from "./table-view-pagination";
export declare class TableViewComponent implements OnInit, OnChanges {
    collection: Array<{}>;
    columns: Array<TableColumnInterface>;
    filters: Array<TableFilterInterface>;
    actions: Array<TableActionInterface>;
    imports: Array<any>;
    autoPipe: boolean;
    transformers: Array<TableTransformerInterface>;
    sorting: TableViewSorting;
    pagination: TableViewPagination;
    order: EventEmitter<any>;
    filter: EventEmitter<any>;
    cellChange: EventEmitter<any>;
    pageChange: EventEmitter<any>;
    actionClick: EventEmitter<any>;
    private totalItems;
    /**
     * ng init
     */
    ngOnInit(): void;
    /**
     * On changes input
     * @param changes
     */
    ngOnChanges(changes: any): void;
    /**
     * Transform by all transformers
     * @return {{pipe: TableFilterInterfacePipe, args: any}[]}
     */
    transformBy(): any[];
    /**
     * Set collection
     * @param collection
     * @param totalItems
     */
    setCollection(collection: Array<any>, totalItems: number): void;
    /**
     * Set total items. You can set total items. If you set total then
     * getTotalItems will always return <total>.
     * @param totalItems
     */
    setTotalItems(totalItems: number): void;
    /**
     * Get total items.
     * @return {number}
     */
    getTotalItems(): number;
    /**
     * Set transformer to transformers list. If transformer exists then it will be rewritten.
     *
     * @param transformer
     */
    setTransformer(transformer?: TableTransformerInterface): void;
    /**
     * Get transformer by id
     * @param id
     * @return {undefined|TableTransformerInterface}
     */
    getTransformer(id: number): TableTransformerInterface;
    /**
     * Event page Change
     * @param event
     */
    onPageChange(event: any): void;
    /**
     * Event cell change
     * @param event
     */
    onCellChange(event: any): void;
    /**
     * Event collection order
     * @param event
     */
    onOrder(event: any): void;
    /**
     * Event collection filter
     * @param event
     */
    onFilter(event: any): void;
    /**
     * Event action click
     * @param event
     */
    onActionClick(event: any): void;
}
