import { PropertyExt } from "@hpcc-js/common";
import { Common } from "./Common";
import { CellFormatter, CellRenderer } from "./RowFormatter";
export declare class ColumnFormat extends PropertyExt {
    _owner: Table;
    constructor();
    owner(): Table;
    owner(_: Table): this;
    valid(): boolean;
    formatterFunc(): CellFormatter | undefined;
    renderCellFunc(): CellRenderer | undefined;
}
export interface ColumnFormat {
    column(): string;
    column(_: string): this;
    width(): number;
    width(_: number): this;
    format(): string;
    format(_: string): this;
    paletteID(): string;
    paletteID(_: string): this;
    min(): number;
    min(_: number): this;
    max(): number;
    max(_: number): this;
    valueColumn(): string;
    valueColumn(_: string): this;
}
export declare class Table extends Common {
    private _prevColsHash;
    private _prevFieldsHash;
    _colsRefresh: boolean;
    _dataRefresh: boolean;
    constructor();
    fields(_?: any): any | this;
    columns(_?: any): any | this;
    data(_?: any): any | this;
    enter(domNode: any, element: any): void;
    guessWidth(columns: any, data: any): void;
    _prevHash: any;
    update(domNode: any, element: any): void;
    exit(domNode: any, element: any): void;
    formatterFunc(): CellFormatter | undefined;
    renderCellFunc(): CellRenderer | undefined;
    click(row: any, col: any, sel: any): void;
}
export interface Table {
    columnWidth(): "auto" | "none";
    columnWidth(_: "auto" | "none"): this;
    columnFormats(): ColumnFormat[];
    columnFormats(_: ColumnFormat[]): this;
}
//# sourceMappingURL=Table.d.ts.map