import { Validator } from '../../../utilities/models/validator';
import type { TableColumnValidity } from '../types';
/**
 * Base column validator
 */
export declare class ColumnValidator<ValidityFlagNames extends readonly string[]> extends Validator<ValidityFlagNames> {
    isColumnValid: boolean;
    constructor(configValidityKeys: ValidityFlagNames);
    /**
     * @returns an object containing flags for various ways the configuation can be invalid
     */
    getValidity(): TableColumnValidity;
    onTrackingChange(): void;
    /**
     * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
     */
    protected setConditionValue(name: ValidityFlagNames extends readonly (infer U)[] ? U : never, isInvalid: boolean): void;
}
