/**
 * Copyright Aquera Inc 2023
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
import NileElement from '../internal/nile-element';
import { NileTableBody } from '../nile-table-body';
/**
 * Nile table component.
 *
 * @tag nile-table
 *
 */
export declare class NileTable extends NileElement {
    defaultSlot: HTMLSlotElement;
    private rows;
    private primaryRowWidths;
    private resizeObserver;
    private debounceTimeout;
    /**
     * The styles for nile-table
     * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
     */
    static get styles(): CSSResultArray;
    connectedCallback(): void;
    protected firstUpdated(_changedProperties: PropertyValues): void;
    /**
     * Render method
     * @slot This is a slot test
     */
    render(): TemplateResult;
    repaintTable(): void;
    handleRows(e: CustomEvent): void;
    handleBodyCssUpdate(): void;
    getPrimaryColumnWidths(): number[];
    realignStructure(): void;
    getTableCellFetchQuery(row: NileTableBody): Array<Element>;
    handleResizeObserver(): void;
    disconnectedCallback(): void;
}
export default NileTable;
declare global {
    interface HTMLElementTagNameMap {
        'nile-table': NileTable;
    }
}
