import { EventEmitter, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
import { ControlValueAccessor, FormBuilder } from '@angular/forms';
import { NGXLogger } from 'ngx-logger';
import { Feature } from '../../core/enums/feature';
import { UI } from '../../core/enums/ui';
import { PopoverComponent } from '../../overlays/popover/popover.component';
import { TableColumnComponent } from './table-column';
import { DefaultSearchFilter } from './types';
export declare class TableComponent implements OnInit, OnDestroy, ControlValueAccessor {
    private logger;
    private fb;
    ui: typeof UI;
    private subscriptions;
    popover: PopoverComponent;
    progress: {
        loading: boolean;
    };
    source: Object[];
    count: number;
    orderByControl: import("@angular/forms").FormControl;
    firstControl: import("@angular/forms").FormControl;
    form: import("@angular/forms").FormGroup;
    readonly host = "jnt-table-host";
    features: Feature[];
    fetcher: Function;
    reloaded: EventEmitter<any>;
    columns: QueryList<TableColumnComponent>;
    rowActionsTemplate: TemplateRef<any>;
    actionsTemplate: TemplateRef<any>;
    filtersTemplate: TemplateRef<any>;
    onChange: (filter: DefaultSearchFilter) => void;
    onTouched: () => void;
    registerOnChange: (fn: any) => any;
    registerOnTouched: (fn: any) => any;
    onBlur: () => void;
    constructor(logger: NGXLogger, fb: FormBuilder);
    ngOnInit(): void;
    ngOnDestroy(): void;
    load(filter?: any): void;
    sorting(field: string): void;
    writeValue({ q, orderBy, first, offset }: DefaultSearchFilter): void;
    hideActions(): void;
}
