import { PropType, ExtractPropTypes } from 'vue';
import type { DataTableColumnInternal, DataTableColumnClass, DataTableColumnStyle, DataTableCell } from '../types';
export declare const useStylableProps: {
    selectedColor: {
        type: StringConstructor;
        default: string;
    };
    allowFooterSorting: {
        type: BooleanConstructor;
        default: boolean;
    };
    stickyHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    stickyFooter: {
        type: BooleanConstructor;
        default: boolean;
    };
    height: {
        type: PropType<string | number | undefined>;
    };
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export declare const useStylable: (props: ExtractPropTypes<typeof useStylableProps>) => {
    CSSVariables: import("vue").ComputedRef<{
        hoverColor: string;
        selectedColor: string | undefined;
        tableHeight: string;
        theadBg: string;
        tfootBg: string;
    }>;
    getHeaderCSSVariables: (column: DataTableColumnInternal) => {
        "--va-data-table-width": string | 0 | undefined;
        "--va-data-table-align": import("../types").DataTableAlignOptions;
        "--va-data-table-vertical-align": import("../types").DataTableVerticalAlignOptions;
        "--va-data-table-cursor": string;
    };
    getCellCSSVariables: (cell: DataTableCell) => {
        "--va-data-table-align": import("../types").DataTableAlignOptions;
        "--va-data-table-vertical-align": import("../types").DataTableVerticalAlignOptions;
    };
    getFooterCSSVariables: (column: DataTableColumnInternal) => {
        "--va-data-table-align": import("../types").DataTableAlignOptions;
        "--va-data-table-vertical-align": import("../types").DataTableVerticalAlignOptions;
        "--va-data-table-cursor": string;
    };
    getClass: (classes: DataTableColumnClass) => any;
    getStyle: (styles: DataTableColumnStyle) => any;
};
