import { TableSelectionMode } from '../../../Types/TableSelectionMode';
import { TableSelectionType } from '../../../Types/TableSelectionType';
import { TableCellBaseElement } from './abstracts/TableCellBaseElement';
import type { ITableBodyCellElementProps } from './ITableBodyCellElementProps';
declare const TableBodyCellElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Valueable").IValueableProps<unknown>) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Selectable").ISelectableProps & import("../../../Behaviors/Selectable").ISelectableEvents & import("../../../Behaviors/Selectable").ISelectable) & typeof TableCellBaseElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Table Body Cell - A selectable cell within a table body row.
 *
 * @element mosaik-table-body-cell
 *
 * @slot - The default slot.
 *
 * @csspart text - The text part.
 *
 * @cssprop {String} --table-body-cell-background-color - The cell background color CSS custom property.
 * @cssprop {String} --table-body-cell-border-color - The cell border color CSS custom property.
 * @cssprop {String} --table-body-cell-border-radius - The cell border radius CSS custom property.
 * @cssprop {String} --table-body-cell-border-width - The cell border width CSS custom property.
 * @cssprop {String} --table-body-cell-font-family - The cell font family CSS custom property.
 * @cssprop {String} --table-body-cell-font-letter-spacing - The cell font letter spacing CSS custom property.
 * @cssprop {String} --table-body-cell-font-line-height - The cell font line height CSS custom property.
 * @cssprop {String} --table-body-cell-font-size - The cell font size CSS custom property.
 * @cssprop {String} --table-body-cell-font-text-decoration - The cell font text decoration CSS custom property.
 * @cssprop {String} --table-body-cell-font-text-transform - The cell font text transform CSS custom property.
 * @cssprop {String} --table-body-cell-font-weight - The cell font weight CSS custom property.
 * @cssprop {String} --table-body-cell-foreground-color - The cell foreground color CSS custom property.
 * @cssprop {String} --table-body-cell-gap - The cell gap CSS custom property.
 * @cssprop {String} --table-body-cell-padding-bottom - The cell padding bottom CSS custom property.
 * @cssprop {String} --table-body-cell-padding-left - The cell padding left CSS custom property.
 * @cssprop {String} --table-body-cell-padding-right - The cell padding right CSS custom property.
 * @cssprop {String} --table-body-cell-padding-top - The cell padding top CSS custom property.
 * @cssprop {String} --table-body-cell-shadow - The cell shadow CSS custom property.
 * @cssprop {String} --table-body-cell-shadow-blur - The cell shadow blur CSS custom property.
 * @cssprop {String} --table-body-cell-shadow-color - The cell shadow color CSS custom property.
 * @cssprop {String} --table-body-cell-shadow-offset-x - The cell shadow offset x CSS custom property.
 * @cssprop {String} --table-body-cell-shadow-offset-y - The cell shadow offset y CSS custom property.
 * @cssprop {String} --table-body-cell-shadow-spread - The cell shadow spread CSS custom property.
 * @cssprop {String} --table-body-cell-transition-duration - The cell transition duration CSS custom property.
 * @cssprop {String} --table-body-cell-transition-mode - The cell transition mode CSS custom property.
 * @cssprop {String} --table-body-cell-transition-property - The cell transition property CSS custom property.
 * @cssprop {String} --table-body-cell-translate - The cell translate CSS custom property.
 *
 * @fires selected {SelectedEvent} - Fired when the cell is selected.
 * @fires deselected {DeselectedEvent} - Fired when the cell is deselected.
 *
 * @dependency mosaik-text - The Text element.
 *
 * @example
 * Selectable body cell:
 * ```html
 * <mosaik-table selection-mode="single" selection-type="cell">
 *   <mosaik-table-body>
 *     <mosaik-table-body-row>
 *       <mosaik-table-body-cell text="Alice"></mosaik-table-body-cell>
 *     </mosaik-table-body-row>
 *   </mosaik-table-body>
 * </mosaik-table>
 * ```
 *
 * @public
 */
export declare class TableBodyCellElement extends TableBodyCellElement_base implements ITableBodyCellElementProps {
    private readonly _inheritance;
    private _selectionClickSubscription;
    private _table;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
    /**
     * @protected
     */
    protected onSelectionModePropertyChanged(_prev: TableSelectionMode, _next: TableSelectionMode): void;
    /**
     * @protected
     */
    protected onSelectionTypePropertyChanged(_prev: TableSelectionType, _next: TableSelectionType): void;
    /**
     * Sets up or tears down the click handler based on the inherited selection config.
     *
     * @private
     */
    private updateSelectionClickHandler;
    /**
     * Handles click events for cell selection.
     *
     * @private
     */
    private handleCellClick;
    /**
     * Returns the natural content width of this body cell,
     * measured from inner elements to account for truncated or overflowing text.
     *
     * @public
     */
    getContentWidth(): number;
}
/**
 * @public
 */
export declare namespace TableBodyCellElement {
    type Props = ITableBodyCellElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-table-body-cell': TableBodyCellElement;
    }
}
export {};
//# sourceMappingURL=TableBodyCellElement.d.ts.map