import { AfterViewInit, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
import { ApiDataSource, ApiPageResponse, DataSourceRequest } from '@bravobit/bb-foundation/api';
import { BbTableHeaderCell } from '../table-header-cell/table-header-cell.component';
import { Observable } from 'rxjs';
import { FormControl } from '@angular/forms';
export declare class BbTableColumnDef {
}
export declare class BbTable implements OnInit, AfterViewInit, OnDestroy {
    headerCells: QueryList<BbTableHeaderCell>;
    tableColumnTemplates: QueryList<BbTableColumnDef>;
    headerTemplate: TemplateRef<any>;
    footerTemplate: TemplateRef<any>;
    identifier: string | null;
    dataSource: ApiDataSource;
    queryFields: string[];
    private _sizes;
    sizes: number[];
    private _header;
    private _footer;
    header: TemplateRef<any> | boolean;
    footer: TemplateRef<any> | boolean;
    trackByFn: (index: any, item: any) => any;
    trackByValue: (index: any, item: any) => any;
    request: DataSourceRequest;
    data$: Observable<{
        state: string;
        result?: ApiPageResponse;
    }>;
    isLoading$: Observable<boolean>;
    queryControl: FormControl;
    sizeControl: FormControl;
    pageControl: FormControl;
    private _subscription;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    refresh(): void;
    private updateSizes;
}
