/// <reference types="react" />
import { CvuCalculationTemplateSortFields, SortDirection } from '@parlor/common';
import { ModelWithId } from '@parlor/components';
export type CvuTableProps = {
    onCreate: () => void;
    onSelect: (row: ModelWithId) => void;
};
export declare enum CvuHeaderId {
    AffectedObject = "affectedObject",
    Average = "average",
    Name = "name",
    UnitPriceProperty = "unit-price-property",
    Units = "units",
    UsageDenominatorProperty = "usage-denominator-property",
    UsageProperty = "usage-property"
}
export declare const cvuTableHeaders: ({
    id: CvuHeaderId;
    name: CvuCalculationTemplateSortFields;
    title: string;
    canBeHidden: boolean;
    isSortable?: undefined;
} | {
    id: CvuHeaderId;
    name: string;
    title: string;
    isSortable: boolean;
    canBeHidden: boolean;
})[];
export declare function useSorting(): {
    sorting: {
        field: CvuCalculationTemplateSortFields;
        direction: SortDirection;
    };
    setSorting: ({ activeColumn, sortOrder }: {
        activeColumn: any;
        sortOrder: any;
    }) => void;
};
export declare const CvuTable: ({ onSelect, onCreate }: CvuTableProps) => JSX.Element;
