import { StyleClass } from '../../../types/types';
import { ColumnDefinition, ColumnMenuItem, FilterType, PinBoundaries, RowData, ValidationDefinition } from '../table.types';
export declare const COLUMN_CONTEXT_MENU: ColumnMenuItem[];
export declare const FILTER_TYPES: FilterType[];
export declare enum ColumnClasses {
    cell = "anj-cell",
    header = "anj-header-cell",
    number = "anj-datatype-number",
    overflowCell = "anj-overflow-cell",
    overflowHeader = "anj-overflow-header",
    pinBorder = "anj-pin-border",
    selectable = "anj-selectable",
    selected = "anj-selected-col",
    sorted = "anj-sorted"
}
export declare class ColumnRenderer {
    private column;
    static classFromColumnName(name: string): string;
    static classFromPinned(pinned: string | undefined): string;
    static pinnedBorderClass(index: number, boundaries: PinBoundaries): ColumnClasses;
    static columnHeaderClasses(column: ColumnDefinition): string;
    static columnCellClasses(column: ColumnDefinition): string;
    static columnAttributes(column: ColumnDefinition, cIndex: any, row: RowData): {
        [attr: string]: string | number | undefined;
    };
    static columnClasses(column: ColumnDefinition): StyleClass[];
    static generateColumnName(field: any, caption: any): string;
    static renderCell(data: RowData, column: ColumnDefinition): any;
    static renderEdit(data: RowData, column: ColumnDefinition): any;
    static translator: (s: string, _v?: any) => string;
    static validationAttrs(rules: ValidationDefinition[]): {
        [attr: string]: any;
    };
    static renderHeader(field: string, caption?: string): string;
    static fieldToCaption(field: any): string;
    constructor(column: ColumnDefinition);
    contextMenu(): Promise<HTMLAnjContextMenuItemElement[] | undefined>;
    setOffset(offset: string): Promise<void>;
    setWidth(width: string): Promise<void>;
    initCell(cell: HTMLElement, offset?: string): Promise<void>;
    private cells;
    private setCellOffset;
    private setCellWidth;
    private calculateOffset;
}
