import { CustomElement } from '../../../Abstracts/CustomElement';
import type { IConnectedCallback } from '../../../Abstracts/Interfaces/IConnectedCallback';
import type { IDisconnectedCallback } from '../../../Abstracts/Interfaces/IDisconnectedCallback';
import { TableElement } from '../TableElement';
import type { ITableRowBaseElementProps } from './ITableRowBaseElementProps';
declare const TableRowBaseElement_base: import("../../../../../Index").ControlBehaviorReturn<typeof CustomElement, import("../../../../Behaviors/Disableable").IDisableableProps>;
/**
 * Table Row Base Element - The foundational base class for all table row components.
 *
 * @description
 * TableRowBaseElement provides the core functionality and behavior patterns for all table row
 * components in the Mosaik design system. It manages grid column layout by subscribing to the
 * parent TableElement's column changes and auto-sizing cells via slot change detection.
 * Header, body, and footer row variants extend this base class to inherit consistent
 * grid management behavior.
 *
 * @public
 *
 * @remarks
 * This class applies the Disableable behavior mixin. Concrete subclasses add Themeable
 * and any section-specific behaviors (e.g., Selectable for body rows).
 * @abstract
 */
export declare abstract class TableRowBaseElement extends TableRowBaseElement_base implements IConnectedCallback, IDisconnectedCallback, ITableRowBaseElementProps {
    private _columnsChangedSubscription;
    private _hasTableColumns;
    /**
     * Reference to the parent table element.
     *
     * @protected
     */
    protected _table: TableElement | null;
    /**
     * @public
     */
    constructor();
    /**
     * Handles slot changes to auto-size grid columns when the parent table has no explicit columns.
     *
     * @public
     */
    onSlotChange(event: Event): void;
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
    /**
     * Subscribes to the parent table's `columnsChanged` event to keep the row's grid layout in sync.
     *
     * @private
     */
    private subscribeToColumnsChanged;
    /**
     * Applies grid column widths, collapsing hidden columns to `0px`.
     *
     * @private
     */
    private applyGridColumns;
    /**
     * Applies pinning and hiding attributes to child cells based on header cell metadata.
     *
     * @private
     */
    private applyColumnMetadata;
}
export {};
//# sourceMappingURL=TableRowBaseElement.d.ts.map