import { AfterContentInit, AfterViewInit, DestroyRef, NgZone, QueryList } from '@angular/core';
import { ContentDensityMode, ContentDensityObserver } from '@fundamental-ngx/core/content-density';
import { TableCellDirective } from './directives/table-cell.directive';
import { TableService } from './table.service';
import * as i0 from "@angular/core";
import * as i1 from "@fundamental-ngx/cdk/utils";
export declare const FdTableContentDensityProviderParams: {
    supportedContentDensity: ContentDensityMode[];
};
/**
 * The component that represents a table.
 * A table is a set of tabular data. Line items can support data, images and actions.
 * ```html
 * <table fd-table></table>
 * ```
 */
export declare class TableComponent implements AfterContentInit, AfterViewInit {
    private readonly _tableService;
    private readonly _contentDensityObserver;
    private readonly _destroyRef;
    private readonly _ngZone;
    /** @hidden */
    fdTableClass: boolean;
    /** Whether or not to show the table's horizontal borders */
    noBorderX: boolean;
    /** Whether or not to show the table's vertical borders */
    noBorderY: boolean;
    /** Whether or not to show the table's outer border */
    noOuterBorder: boolean;
    /** Whether or not to show the table's top border */
    topBorder: boolean;
    /** Whether or not to display the table in pop in mode, it also require change of markup */
    popIn: boolean;
    /** Whether or not to display the table in responsive mode. */
    responsive: boolean;
    /** List of keys that identifies single columns */
    keys: string[];
    /** Applies `focusable` to all cells within this table */
    set allCellsFocusable(value: boolean);
    get allCellsFocusable(): boolean;
    /** @hidden */
    readonly _cells: QueryList<TableCellDirective>;
    /** @hidden */
    private _allCellsFocusable;
    /** @hidden */
    constructor(_tableService: TableService, _contentDensityObserver: ContentDensityObserver, _destroyRef: DestroyRef, _ngZone: NgZone);
    /** @hidden */
    ngAfterContentInit(): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /** Method that sorts and changes visible state of particular cells  */
    reset(keys: string[]): void;
    /** @hidden */
    private _propagateKeys;
    /** @hidden */
    private _updateCells;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "table[fd-table]", ["fd-table"], { "noBorderX": { "alias": "noBorderX"; "required": false; }; "noBorderY": { "alias": "noBorderY"; "required": false; }; "noOuterBorder": { "alias": "noOuterBorder"; "required": false; }; "topBorder": { "alias": "topBorder"; "required": false; }; "popIn": { "alias": "popIn"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "keys": { "alias": "keys"; "required": false; }; "allCellsFocusable": { "alias": "allCellsFocusable"; "required": false; }; }, {}, ["_cells"], ["*"], true, [{ directive: typeof i1.FocusableGridDirective; inputs: {}; outputs: {}; }]>;
    static ngAcceptInputType_allCellsFocusable: unknown;
}
