import { DatePickerProps } from 'antd/es/date-picker/interface';
import { TextAreaProps, InputProps } from 'antd/es/input';
import { InputNumberProps } from 'antd/es/input-number';
import { SelectProps } from 'antd/es/select';

export interface CommonProps {
    onEmitChange?: Function;
    emitTrigger?: string;
}
export interface ApolloInputProps extends InputProps, CommonProps {
    value: string | undefined;
}
export interface LinkProps extends CommonProps {
    value: any[];
    maxLength: number;
}
export interface LinkState {
    prevProps: LinkProps;
    value: any[];
}
export interface ApolloTextAreaProps extends TextAreaProps, CommonProps {
    value: string | undefined;
}
export interface SearchProps extends CommonProps {
    type: string;
    isMultiple?: boolean;
    maxCount?: number;
    tableId?: number;
    paramsJson?: any;
}
export interface ApolloSelectProps extends SelectProps, CommonProps {
    isMultiple?: boolean;
    options?: any[];
}
export interface RateProps {
    value: number;
    allowClear?: boolean;
    allowHalf?: boolean;
    count?: number;
    onChange: any;
    disabled?: boolean;
}
export interface ApolloNumberProps extends InputNumberProps, CommonProps {
    value: number | undefined;
    floatRange?: number;
}
export interface ApolloDateProps extends DatePickerProps, CommonProps {}
