import { TableCellView } from '../../base/cell-view';
import type { TableCellRecord } from '../../base/types';
import { TableColumnAlignment, type TableFieldValue } from '../../../table/types';
export interface TableColumnTextBaseCellRecord extends TableCellRecord {
    value: TableFieldValue;
}
export interface TableColumnTextBaseColumnConfig {
    placeholder?: string;
}
/**
 * The cell view base class for displaying fields of any type as text.
 */
export declare abstract class TableColumnTextCellViewBase<TCellRecord extends TableColumnTextBaseCellRecord = TableColumnTextBaseCellRecord, TColumnConfig extends TableColumnTextBaseColumnConfig = TableColumnTextBaseColumnConfig> extends TableCellView<TCellRecord, TColumnConfig> {
    /** @internal */
    hasOverflow: boolean;
    /**
     * Text to render in the cell.
     */
    text: string;
    /**
     * The alignment of the text within the cell.
     */
    alignment: TableColumnAlignment;
    /**
     * Whether or not the text being displayed in the cell view is a placeholder.
     */
    isPlaceholder: boolean;
    protected abstract updateText(): void;
    protected columnConfigChanged(): void;
    private cellRecordChanged;
    /**
     * Sets `this.text` to the appropriate placeholder if `cellValue` warrants it.
     * @returns `true` if `this.text` was set to a placeholder, `false` otherwise.
     */
    private applyPlaceholderTextIfNeeded;
}
