import { PropType } from '@vue/composition-api';
import { CreateElement } from 'vue';
import { PopupProps } from '../popup';
import { PrimaryTableCol, FilterValue, TdPrimaryTableProps } from './type';
import { AttachNode } from '../common';
import { TableConfig } from '../config-provider';
export interface TableFilterControllerProps {
    locale: TableConfig;
    tFilterValue: FilterValue;
    innerFilterValue: FilterValue;
    tableFilterClasses: {
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        inputFilter: string;
        iconWrap: string;
    };
    isFocusClass: string;
    column: PrimaryTableCol;
    colIndex: number;
    primaryTableElement: HTMLDivElement;
    popupProps: PopupProps;
    attach?: AttachNode;
    filterIcon?: TdPrimaryTableProps['filterIcon'];
}
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    t: <T>(pattern: T, ...args: any[]) => any;
    global: import("@vue/composition-api").ComputedRef<{} & (TableConfig | ({
        readonly expandIcon: any;
        readonly sortIcon: any;
        readonly filterIcon: any;
        readonly treeExpandAndFoldIcon: any;
        readonly hideSortTips: false;
        readonly size: "medium";
    } & {
        readonly empty: "暂无数据";
        readonly loadingText: "正在加载中，请稍后";
        readonly loadingMoreText: "点击加载更多";
        readonly filterInputPlaceholder: "请输入内容（无默认值）";
        readonly sortAscendingOperationText: "点击升序";
        readonly sortCancelOperationText: "点击取消排序";
        readonly sortDescendingOperationText: "点击降序";
        readonly clearFilterResultButtonText: "清空筛选";
        readonly columnConfigButtonText: "列配置";
        readonly columnConfigTitleText: "表格列配置";
        readonly columnConfigDescriptionText: "请选择需要在表格中显示的数据列";
        readonly confirmText: "确认";
        readonly cancelText: "取消";
        readonly resetText: "重置";
        readonly selectAllText: "全选";
        readonly searchResultText: "搜索“{result}”，找到 {count} 条结果";
    })) & TableConfig>;
    FilterIcon: import("tdesign-icons-vue").GlobalIconType;
    filterPopupVisible: import("@vue/composition-api").Ref<boolean>;
    triggerElementRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    listFilterValue: import("@vue/composition-api").Ref<string>;
    renderTNode: (name: string, options?: import("vue").VNode | import("../hooks/render-tnode").JSXRenderContext) => any;
    getFilterDisplayList: (column: PrimaryTableCol) => import("../common").OptionData[];
    onFilterPopupVisibleChange: (visible: boolean) => void;
}> & import("@vue/composition-api").Data, {}, {}, {
    column: PropType<PrimaryTableCol<import("./type").TableRowData>>;
    colIndex: NumberConstructor;
    tFilterValue: PropType<FilterValue>;
    innerFilterValue: PropType<FilterValue>;
    tableFilterClasses: PropType<{
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        inputFilter: string;
        iconWrap: string;
    }>;
    isFocusClass: StringConstructor;
    primaryTableElement: {};
    popupProps: PropType<import("../popup").TdPopupProps>;
    attach: PropType<AttachNode>;
    filterIcon: PropType<(h: CreateElement, props: {
        col: PrimaryTableCol<import("./type").TableRowData>;
        colIndex: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue>;
}, import("@vue/composition-api").ExtractPropTypes<{
    column: PropType<PrimaryTableCol<import("./type").TableRowData>>;
    colIndex: NumberConstructor;
    tFilterValue: PropType<FilterValue>;
    innerFilterValue: PropType<FilterValue>;
    tableFilterClasses: PropType<{
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        inputFilter: string;
        iconWrap: string;
    }>;
    isFocusClass: StringConstructor;
    primaryTableElement: {};
    popupProps: PropType<import("../popup").TdPopupProps>;
    attach: PropType<AttachNode>;
    filterIcon: PropType<(h: CreateElement, props: {
        col: PrimaryTableCol<import("./type").TableRowData>;
        colIndex: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {
    attach?: AttachNode;
    popupProps?: unknown;
    column?: unknown;
    tableFilterClasses?: {
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        inputFilter: string;
        iconWrap: string;
    };
    filterIcon?: (h: CreateElement, props: {
        col: PrimaryTableCol<import("./type").TableRowData>;
        colIndex: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    colIndex?: number;
    isFocusClass?: string;
    tFilterValue?: unknown;
    innerFilterValue?: unknown;
    primaryTableElement?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    t: <T>(pattern: T, ...args: any[]) => any;
    global: import("@vue/composition-api").ComputedRef<{} & (TableConfig | ({
        readonly expandIcon: any;
        readonly sortIcon: any;
        readonly filterIcon: any;
        readonly treeExpandAndFoldIcon: any;
        readonly hideSortTips: false;
        readonly size: "medium";
    } & {
        readonly empty: "暂无数据";
        readonly loadingText: "正在加载中，请稍后";
        readonly loadingMoreText: "点击加载更多";
        readonly filterInputPlaceholder: "请输入内容（无默认值）";
        readonly sortAscendingOperationText: "点击升序";
        readonly sortCancelOperationText: "点击取消排序";
        readonly sortDescendingOperationText: "点击降序";
        readonly clearFilterResultButtonText: "清空筛选";
        readonly columnConfigButtonText: "列配置";
        readonly columnConfigTitleText: "表格列配置";
        readonly columnConfigDescriptionText: "请选择需要在表格中显示的数据列";
        readonly confirmText: "确认";
        readonly cancelText: "取消";
        readonly resetText: "重置";
        readonly selectAllText: "全选";
        readonly searchResultText: "搜索“{result}”，找到 {count} 条结果";
    })) & TableConfig>;
    FilterIcon: import("tdesign-icons-vue").GlobalIconType;
    filterPopupVisible: import("@vue/composition-api").Ref<boolean>;
    triggerElementRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    listFilterValue: import("@vue/composition-api").Ref<string>;
    renderTNode: (name: string, options?: import("vue").VNode | import("../hooks/render-tnode").JSXRenderContext) => any;
    getFilterDisplayList: (column: PrimaryTableCol) => import("../common").OptionData[];
    onFilterPopupVisibleChange: (visible: boolean) => void;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {} & {
    attach?: AttachNode;
    popupProps?: unknown;
    column?: unknown;
    tableFilterClasses?: {
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        inputFilter: string;
        iconWrap: string;
    };
    filterIcon?: (h: CreateElement, props: {
        col: PrimaryTableCol<import("./type").TableRowData>;
        colIndex: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    colIndex?: number;
    isFocusClass?: string;
    tFilterValue?: unknown;
    innerFilterValue?: unknown;
    primaryTableElement?: unknown;
}, {}, true>);
export default _default;
