import { DatePicker, GetProps, InputProps, Select } from 'antd';
import React from 'react';
type OmitBaseType = 'defaultOpen' | 'onBlur' | 'suffixIcon' | 'variant';
type SelectProps = GetProps<typeof Select>;
type DatePickProps = GetProps<typeof DatePicker>;
type RangePickerProps = GetProps<typeof DatePicker.RangePicker>;
type CombineInputProps = {
    componentType?: 'Input';
    componentProps?: Omit<InputProps, OmitBaseType>;
    [key: string]: any;
};
type CombineSelectProps = {
    componentType?: 'Select' | 'Checkbox' | 'StatusSelect';
    componentProps?: Omit<SelectProps, OmitBaseType>;
    [key: string]: any;
};
type CombineDatePick = {
    componentType?: 'DatePick';
    componentProps?: Omit<DatePickProps, OmitBaseType>;
    [key: string]: any;
};
type CombineRangePick = {
    componentType?: 'RangePick';
    componentProps?: Omit<RangePickerProps, OmitBaseType>;
    [key: string]: any;
};
type CombineOptionsType = CombineInputProps | CombineSelectProps | CombineDatePick | CombineRangePick;
export default interface ComBineSearchProps {
    fieldNames?: {
        label: string;
        value: string;
    };
    placeholder?: string;
    border?: boolean;
    search?: boolean;
    prefixIcon?: React.ReactNode;
    options: CombineOptionsType[];
    addonBefore?: React.ReactNode;
    addonAfter?: React.ReactNode;
    defaultSelectKey?: string;
    defaultAfterChange?: boolean;
    request?: (values: Record<string, any>, changeKey: string, eventType: '$init' | '$value' | '$refresh' | '$initValue') => void;
    values: Record<string, any>;
    setValues: React.Dispatch<React.SetStateAction<Record<string, any>>>;
}
export { CombineOptionsType };
