import type { PropType } from 'vue';
import type { PopupProps } from '../popup';
import type { AttachNode } from '../common';
import type { FilterValue, PrimaryTableCol } from './type';
export interface TableFilterControllerProps {
    tFilterValue: FilterValue;
    innerFilterValue: FilterValue;
    tableFilterClasses: {
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        iconWrap: string;
    };
    isFocusClass: string;
    column: PrimaryTableCol;
    primaryTableElement: any;
    popupProps: PopupProps;
    attach?: AttachNode;
    onVisibleChange: (val: boolean) => void;
}
declare const _default: import("vue").DefineComponent<{
    column: PropType<PrimaryTableCol<import("./type").TableRowData>>;
    tFilterValue: PropType<FilterValue>;
    innerFilterValue: PropType<FilterValue>;
    tableFilterClasses: PropType<{
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        iconWrap: string;
    }>;
    isFocusClass: StringConstructor;
    primaryTableElement: {};
    popupProps: PropType<import("../popup").TdPopupProps>;
    attach: PropType<AttachNode>;
    onVisibleChange: PropType<(val: boolean) => void>;
}, {
    t: <T>(pattern: T, ...args: any[]) => any;
    globalConfig: import("vue").ComputedRef<import("..").TableConfig>;
    FilterIcon: import("@ldesign/icons-vue-next").GlobalIconType;
    filterPopupVisible: import("vue").Ref<boolean>;
    triggerElementRef: import("vue").Ref<HTMLDivElement>;
    renderTNode: (name: string, options?: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }> | import("../utils/render-tnode").JSXRenderContext) => any;
    getContent: () => JSX.Element;
    onFilterPopupVisibleChange: (visible: boolean) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reset" | "confirm" | "inner-filter-change")[], "reset" | "confirm" | "inner-filter-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    column: PropType<PrimaryTableCol<import("./type").TableRowData>>;
    tFilterValue: PropType<FilterValue>;
    innerFilterValue: PropType<FilterValue>;
    tableFilterClasses: PropType<{
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        iconWrap: string;
    }>;
    isFocusClass: StringConstructor;
    primaryTableElement: {};
    popupProps: PropType<import("../popup").TdPopupProps>;
    attach: PropType<AttachNode>;
    onVisibleChange: PropType<(val: boolean) => void>;
}>> & {
    onReset?: (...args: any[]) => any;
    onConfirm?: (...args: any[]) => any;
    "onInner-filter-change"?: (...args: any[]) => any;
}, {}>;
export default _default;
