import { FoundationElement } from '@ni/fast-foundation';
import { ColumnInternals, type ColumnInternalsOptions } from './models/column-internals';
import type { TableColumnValidity } from './types';
import type { ColumnValidator } from './models/column-validator';
/**
 * The base class for table columns
 */
export declare abstract class TableColumn<TColumnConfig = unknown, TColumnValidator extends ColumnValidator<[]> = ColumnValidator<[]>> extends FoundationElement {
    /**
     * @internal
     *
     * Column properties configurable by plugin authors
     */
    readonly columnInternals: ColumnInternals<TColumnConfig, TColumnValidator>;
    columnId?: string;
    actionMenuSlot?: string;
    actionMenuLabel?: string;
    columnHidden: boolean;
    /** @internal */
    hasOverflow: boolean;
    /** @internal */
    contentSlot: HTMLSlotElement;
    checkValidity(): boolean;
    get validity(): TableColumnValidity;
    /** @internal */
    get headerTextContent(): string;
    connectedCallback(): void;
    protected abstract getColumnInternalsOptions(): ColumnInternalsOptions<TColumnValidator>;
}
