import { PropType } from 'vue';
import Field from '../../types/Field.ts';
declare const _default: import("vue").DefineComponent<{
    /**
     * Field list
     */
    fields: {
        type: PropType<Field[]>;
        required: true;
    };
    /**
     * Item list
     */
    items: {
        type: PropType<any[]>;
        required: true;
    };
    /**
     * Items loading
     */
    isLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Order by field name
     */
    orderBy: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Sort is descending or ascending
     */
    sortDesc: {
        type: BooleanConstructor;
        default: undefined;
    };
    /**
     * th element css lass
     */
    thClass: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * td element css class
     */
    tdClass: {
        type: StringConstructor;
        default: undefined;
    };
}, unknown, unknown, {}, {
    /**
     * Is order by active by field?
     *
     * @param fieldKey
     * @returns {boolean}
     */
    isActiveOrderBy(fieldKey: string): boolean;
    /**
     * Is field sortable?
     *
     * @param field
     * @returns {boolean}
     */
    isSortableField(field: Field): boolean;
    /**
     * Sort icon class.
     *
     * @returns {string}
     */
    getSortIconClass(): string;
    /**
     * Calcuate sort desc value on click
     * Returns null if there is no sortDesc value.
     */
    calcSortDesc(fieldKey: string): boolean | null;
    /**
     * Is order by changed?
     */
    isOrderByChanged(fieldKey: string): boolean;
    /**
     * Table head clicked.
     */
    onHeadClick(field: Field): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "orderChanged"[], "orderChanged", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * Field list
     */
    fields: {
        type: PropType<Field[]>;
        required: true;
    };
    /**
     * Item list
     */
    items: {
        type: PropType<any[]>;
        required: true;
    };
    /**
     * Items loading
     */
    isLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Order by field name
     */
    orderBy: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Sort is descending or ascending
     */
    sortDesc: {
        type: BooleanConstructor;
        default: undefined;
    };
    /**
     * th element css lass
     */
    thClass: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * td element css class
     */
    tdClass: {
        type: StringConstructor;
        default: undefined;
    };
}>> & {
    onOrderChanged?: ((...args: any[]) => any) | undefined;
}, {
    isLoading: boolean;
    orderBy: string;
    sortDesc: boolean;
    thClass: string;
    tdClass: string;
}, {}>;
export default _default;
