import type { Ref, SetupContext } from 'vue';
import type { InnerColumnConfig, SortDirection, FilterListItem, GridThFilterProps } from '../data-grid-types';
export declare function useGridThSort(columnConfig: Ref<InnerColumnConfig>): {
    direction: Ref<SortDirection, SortDirection>;
    doSort: (directionVal: SortDirection) => void;
    onSortClick: () => void;
    doClearSort: () => void;
};
export declare function useGridThFilter(columnConfig: Ref<InnerColumnConfig>): {
    filterActive: Ref<boolean, boolean>;
    setFilterStatus: (status: boolean) => void;
    onFilterChange: (e: FilterListItem | FilterListItem[]) => void;
};
export declare function useGridThMultipleFilter(props: GridThFilterProps, ctx: SetupContext): {
    _checkList: Ref<{
        name: string;
        value: any;
        checked?: boolean | undefined;
    }[], FilterListItem[] | {
        name: string;
        value: any;
        checked?: boolean | undefined;
    }[]>;
    _checkAll: import("vue").WritableComputedRef<boolean, boolean>;
    _halfChecked: Ref<boolean, boolean>;
    onCheckAllClick: () => void;
    onItemClick: (item: FilterListItem) => void;
    updateCheckAll: () => void;
    onConfirm: () => void;
};
export declare function useGridThDrag(columnConfig: Ref<InnerColumnConfig>): {
    thRef: Ref<any, any>;
    resizing: Ref<boolean, boolean>;
    onMousedown: (e: MouseEvent) => void;
};
