import { SetupContext } from 'vue';
import { Column, TablePropTypes } from '../props';
import { UseColumns } from './use-columns';
declare const useSettings: (props: TablePropTypes, ctx: SetupContext, columns: UseColumns, afterSetting: any) => {
    options: {
        enabled: boolean;
        fields: {
            label?: import("../props").LabelFunctionString;
            field: import("../props").LabelFunctionString & (string | number | true | ((_column: any, _index: any) => JSX.Element | boolean | number | string));
            render?: import("../props").RenderFunctionString;
            disabled?: boolean;
            renderHead?: import("../props").RenderFunctionString;
            width?: number | string;
            minWidth?: number | string;
            columnKey?: string;
            showOverflowTooltip?: boolean | {
                content: ((col: Column, row: Record<string, object>) => string) | string;
                disabled?: ((col: Column, row: Record<string, object>) => boolean) | boolean;
                allowHtml?: boolean;
                watchCellResize?: boolean;
                mode?: `${import("../props").OverflowModeEnum}`;
                popoverOption?: Record<string, object>;
                resizerWay?: import("../props").ResizerWay;
                showHead?: boolean;
            };
            type?: string;
            fixed?: boolean | string;
            resizable?: boolean;
            sort?: string | boolean | {
                sortFn?: (...args: any) => number;
                sortScope?: import("../props").SortScope;
                value?: import("../const").SORT_OPTION;
            };
            filter?: string | boolean | {
                list: {
                    label: string;
                    text?: string;
                    value: string;
                    tipKey?: string;
                    showOverflowTooltip?: boolean;
                }[];
                filterFn?: (...args: any) => boolean;
                match?: import("../props").FullEnum;
                checked?: string[];
                filterScope?: import("../props").SortScope;
                btnSave?: boolean | string;
                btnReset?: boolean | string;
                height?: number;
                maxHeight?: number;
            };
            colspan?: import("../props").SpanFunctionString;
            rowspan?: import("../props").SpanFunctionString;
            textAlign?: string;
            className?: import("../props").RowClassFunctionString;
            align?: string;
            prop?: import("../props").LabelFunctionString;
            index?: number;
            explain?: boolean | {
                content: import("../props").LabelFunctionString;
                head: import("../props").LabelFunctionString | boolean;
            };
            children?: {
                label?: import("../props").LabelFunctionString;
                field?: import("../props").LabelFunctionString;
                render?: import("../props").RenderFunctionString;
                disabled?: boolean;
                renderHead?: import("../props").RenderFunctionString;
                width?: number | string;
                minWidth?: number | string;
                columnKey?: string;
                showOverflowTooltip?: boolean | {
                    content: ((col: Column, row: Record<string, object>) => string) | string;
                    disabled?: ((col: Column, row: Record<string, object>) => boolean) | boolean;
                    allowHtml?: boolean;
                    watchCellResize?: boolean;
                    mode?: `${import("../props").OverflowModeEnum}`;
                    popoverOption?: Record<string, object>;
                    resizerWay?: import("../props").ResizerWay;
                    showHead?: boolean;
                };
                type?: string;
                fixed?: boolean | string;
                resizable?: boolean;
                sort?: string | boolean | {
                    sortFn?: (...args: any) => number;
                    sortScope?: import("../props").SortScope;
                    value?: import("../const").SORT_OPTION;
                };
                filter?: string | boolean | {
                    list: {
                        label: string;
                        text?: string;
                        value: string;
                        tipKey?: string;
                        showOverflowTooltip?: boolean;
                    }[];
                    filterFn?: (...args: any) => boolean;
                    match?: import("../props").FullEnum;
                    checked?: string[];
                    filterScope?: import("../props").SortScope;
                    btnSave?: boolean | string;
                    btnReset?: boolean | string;
                    height?: number;
                    maxHeight?: number;
                };
                colspan?: import("../props").SpanFunctionString;
                rowspan?: import("../props").SpanFunctionString;
                textAlign?: string;
                className?: import("../props").RowClassFunctionString;
                align?: string;
                prop?: import("../props").LabelFunctionString;
                index?: number;
                explain?: boolean | {
                    content: import("../props").LabelFunctionString;
                    head: import("../props").LabelFunctionString | boolean;
                };
                children?: /*elided*/ any[];
                acrossPage?: boolean;
            }[];
            acrossPage?: boolean;
        }[];
        checked: any[];
        limit: number;
        size: string;
        sizeList: {
            value?: string;
            label?: string;
            height?: number;
        }[];
        showLineHeight: boolean;
        extCls: string;
        trigger: string;
        height: number;
    };
    renderSettings: () => JSX.Element;
};
export type UseSettings = ReturnType<typeof useSettings>;
export default useSettings;
