import type { ExtractPropTypes } from 'vue';
import type { FormColumn } from 'll-plus/es/components';
import type advancedFiltering from './advanced-filtering.vue';
import type advancedFilteringParams from './components/advanced-filtering-params.vue';
import type advancedFilteringTags from './components/advanced-filtering-tags.vue';
export interface IAdvancedFilteringTag {
    label: string;
    key: string;
    value: string | string[];
    showValue: string | string[];
}
export declare const ALL_VALUE: string;
export type FilterColumn = FormColumn<{
    unUseDefaultOption?: boolean;
    defaultOptionLabel?: string;
}>;
export declare const initValue: (columns: FilterColumn[], values: any) => {};
export declare const filterAllValue: (values: string | string[], column: FilterColumn) => any;
export declare const treeDataFormat: (arr: any[], fieldNames: {
    [key: string]: string;
}) => any[];
export declare const findLabelByValue: (tree: FilterColumn['options'], value: any) => string;
export declare const advancedFilteringProps: {
    readonly filterColumns: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<FilterColumn[]>, unknown, unknown, () => any[], boolean>;
    readonly value: import("ll-plus/es/utils").EpPropFinalized<ObjectConstructor, unknown, unknown, () => {}, boolean>;
    readonly formOptions: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Partial<ExtractPropTypes<{
        layout: import("vue-types").VueTypeDef<string>;
        labelCol: {
            type: import("vue").PropType<Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes>;
            default: Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes;
        };
        wrapperCol: {
            type: import("vue").PropType<Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes>;
            default: Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes;
        };
        colon: {
            type: BooleanConstructor;
            default: boolean;
        };
        labelAlign: {
            type: import("vue").PropType<import("ant-design-vue/es/form/interface").FormLabelAlign>;
            default: import("ant-design-vue/es/form/interface").FormLabelAlign;
        };
        labelWrap: {
            type: BooleanConstructor;
            default: boolean;
        };
        prefixCls: StringConstructor;
        requiredMark: {
            type: import("vue").PropType<"" | import("ant-design-vue/es/form/Form").RequiredMark>;
            default: "" | import("ant-design-vue/es/form/Form").RequiredMark;
        };
        hideRequiredMark: {
            type: BooleanConstructor;
            default: boolean;
        };
        model: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        rules: {
            type: import("vue").PropType<{
                [k: string]: import("ant-design-vue/es/form").RuleObject | import("ant-design-vue/es/form").RuleObject[];
            }>;
            default: {
                [k: string]: import("ant-design-vue/es/form").RuleObject | import("ant-design-vue/es/form").RuleObject[];
            };
        };
        validateMessages: {
            type: import("vue").PropType<import("ant-design-vue/es/form/interface").ValidateMessages>;
            default: import("ant-design-vue/es/form/interface").ValidateMessages;
        };
        validateOnRuleChange: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToFirstError: {
            default: boolean | import("scroll-into-view-if-needed").Options<any>;
            type: import("vue").PropType<boolean | import("scroll-into-view-if-needed").Options<any>>;
        };
        onSubmit: {
            type: import("vue").PropType<(e: Event) => void>;
            default: (e: Event) => void;
        };
        name: StringConstructor;
        validateTrigger: {
            type: import("vue").PropType<string | string[]>;
            default: string | string[];
        };
        size: {
            type: import("vue").PropType<import("ant-design-vue/es/config-provider").SizeType>;
            default: import("ant-design-vue/es/config-provider").SizeType;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        onValuesChange: {
            type: import("vue").PropType<(changedValues: any, values: any) => void>;
            default: (changedValues: any, values: any) => void;
        };
        onFieldsChange: {
            type: import("vue").PropType<(changedFields: import("ant-design-vue/es/form/interface").FieldData[], allFields: import("ant-design-vue/es/form/interface").FieldData[]) => void>;
            default: (changedFields: import("ant-design-vue/es/form/interface").FieldData[], allFields: import("ant-design-vue/es/form/interface").FieldData[]) => void;
        };
        onFinish: {
            type: import("vue").PropType<(values: any) => void>;
            default: (values: any) => void;
        };
        onFinishFailed: {
            type: import("vue").PropType<(errorInfo: import("ant-design-vue/es/form/interface").ValidateErrorEntity<any>) => void>;
            default: (errorInfo: import("ant-design-vue/es/form/interface").ValidateErrorEntity<any>) => void;
        };
        onValidate: {
            type: import("vue").PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
            default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
        };
    }>>>, unknown, unknown, () => {
        layout: string;
    }, boolean>;
    readonly overlayStyle: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<import("vue").CSSProperties>, unknown, unknown, () => {
        width: string;
    }, boolean>;
};
export declare const advancedFilteringParamsProps: {
    readonly filterColumns: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<FilterColumn[]>, unknown, unknown, () => any[], boolean>;
    readonly value: import("ll-plus/es/utils").EpPropFinalized<ObjectConstructor, unknown, unknown, () => {}, boolean>;
    readonly formOptions: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Partial<ExtractPropTypes<{
        layout: import("vue-types").VueTypeDef<string>;
        labelCol: {
            type: import("vue").PropType<Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes>;
            default: Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes;
        };
        wrapperCol: {
            type: import("vue").PropType<Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes>;
            default: Partial<ExtractPropTypes<{
                span: (StringConstructor | NumberConstructor)[];
                order: (StringConstructor | NumberConstructor)[];
                offset: (StringConstructor | NumberConstructor)[];
                push: (StringConstructor | NumberConstructor)[];
                pull: (StringConstructor | NumberConstructor)[];
                xs: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                sm: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                md: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                lg: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                xxl: {
                    type: import("vue").PropType<string | number | import("ant-design-vue/es/grid").ColSize>;
                    default: string | number | import("ant-design-vue/es/grid").ColSize;
                };
                prefixCls: StringConstructor;
                flex: (StringConstructor | NumberConstructor)[];
            }>> & import("vue").HTMLAttributes;
        };
        colon: {
            type: BooleanConstructor;
            default: boolean;
        };
        labelAlign: {
            type: import("vue").PropType<import("ant-design-vue/es/form/interface").FormLabelAlign>;
            default: import("ant-design-vue/es/form/interface").FormLabelAlign;
        };
        labelWrap: {
            type: BooleanConstructor;
            default: boolean;
        };
        prefixCls: StringConstructor;
        requiredMark: {
            type: import("vue").PropType<"" | import("ant-design-vue/es/form/Form").RequiredMark>;
            default: "" | import("ant-design-vue/es/form/Form").RequiredMark;
        };
        hideRequiredMark: {
            type: BooleanConstructor;
            default: boolean;
        };
        model: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        rules: {
            type: import("vue").PropType<{
                [k: string]: import("ant-design-vue/es/form").RuleObject | import("ant-design-vue/es/form").RuleObject[];
            }>;
            default: {
                [k: string]: import("ant-design-vue/es/form").RuleObject | import("ant-design-vue/es/form").RuleObject[];
            };
        };
        validateMessages: {
            type: import("vue").PropType<import("ant-design-vue/es/form/interface").ValidateMessages>;
            default: import("ant-design-vue/es/form/interface").ValidateMessages;
        };
        validateOnRuleChange: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToFirstError: {
            default: boolean | import("scroll-into-view-if-needed").Options<any>;
            type: import("vue").PropType<boolean | import("scroll-into-view-if-needed").Options<any>>;
        };
        onSubmit: {
            type: import("vue").PropType<(e: Event) => void>;
            default: (e: Event) => void;
        };
        name: StringConstructor;
        validateTrigger: {
            type: import("vue").PropType<string | string[]>;
            default: string | string[];
        };
        size: {
            type: import("vue").PropType<import("ant-design-vue/es/config-provider").SizeType>;
            default: import("ant-design-vue/es/config-provider").SizeType;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        onValuesChange: {
            type: import("vue").PropType<(changedValues: any, values: any) => void>;
            default: (changedValues: any, values: any) => void;
        };
        onFieldsChange: {
            type: import("vue").PropType<(changedFields: import("ant-design-vue/es/form/interface").FieldData[], allFields: import("ant-design-vue/es/form/interface").FieldData[]) => void>;
            default: (changedFields: import("ant-design-vue/es/form/interface").FieldData[], allFields: import("ant-design-vue/es/form/interface").FieldData[]) => void;
        };
        onFinish: {
            type: import("vue").PropType<(values: any) => void>;
            default: (values: any) => void;
        };
        onFinishFailed: {
            type: import("vue").PropType<(errorInfo: import("ant-design-vue/es/form/interface").ValidateErrorEntity<any>) => void>;
            default: (errorInfo: import("ant-design-vue/es/form/interface").ValidateErrorEntity<any>) => void;
        };
        onValidate: {
            type: import("vue").PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
            default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
        };
    }>>>, unknown, unknown, () => {
        layout: string;
    }, boolean>;
    readonly showFooter: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
};
export declare const advancedFilteringEmits: {
    change: (value: Record<string, any>) => boolean;
    'update:value': (value: Record<string, any>) => boolean;
};
export declare const advancedFilteringParamsEmits: {
    close: () => boolean;
    confirm: () => boolean;
    changeValue: (value: Record<string, any>) => boolean;
    'update:value': (value: Record<string, any>) => boolean;
};
export declare const advancedFilteringTagsEmits: {
    change: (value: Record<string, any>) => boolean;
    'update:value': (value: Record<string, any>) => boolean;
};
export type AdvancedFilteringProps = ExtractPropTypes<typeof advancedFilteringProps>;
export type AdvancedFilteringParamsProps = ExtractPropTypes<typeof advancedFilteringParamsProps>;
export type AdvancedFilteringEmits = typeof advancedFilteringEmits;
export type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits;
export type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits;
export type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>;
export type AdvancedFilteringParamsInstance = InstanceType<typeof advancedFilteringParams>;
export type AdvancedFilteringTagsInstance = InstanceType<typeof advancedFilteringTags>;
