import { DefaultOptionType } from '@aplus-frontend/antdv/es/select';
import { StyleValue } from 'vue';
import { ApFieldTextAreaProps, ApFieldTextProps } from '../../ap-field/interface';
import { ApFormItemProps } from '../../ap-form';
export type BatchInputGroupValueType = {
    key: any[];
    value: string[];
};
export interface BatchInputGroupProps extends Omit<ApFieldTextProps, 'value' | 'onUpdate:value' | 'style'> {
    /**
     * 下拉框自定义样式
     */
    style?: StyleValue;
    /**
     * 输入框样式
     */
    inputStyle?: StyleValue;
    /**
     * 下拉框可选项列表
     */
    options?: DefaultOptionType[];
    /**
     * 是否为下拉框添加全选选项
     */
    hasAll?: boolean;
    /**
     * v-model
     */
    value?: BatchInputGroupValueType;
    'onUpdate:value'?: (nextValue: BatchInputGroupValueType) => void;
    /**
     * 设置弹出层弹出的位置，默认为`left`
     */
    popoverPlacement?: 'left' | 'right' | number;
    /**
     * 最大输入条数，默认为200
     */
    maxNum?: number;
    getPopupContainer?: BatchInputGroupPopoverInputProps['getPopupContainer'];
    /**
     * 完成输入的回调（输入框失焦/弹出输入框关闭被视为输入完成）
     * @param value
     * @returns
     */
    onComplete?: (value: BatchInputGroupValueType) => void;
}
export interface BatchInputGroupPopoverInputProps extends Pick<ApFieldTextAreaProps, 'value' | 'onUpdate:value'> {
    parent?: HTMLElement;
    onClose?: () => void;
    disabled?: boolean;
    maxNum?: number;
    getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement;
    placement?: BatchInputGroupProps['popoverPlacement'];
}
export type ApFormItemBatchInputProps = ApFormItemProps & {
    field?: Omit<BatchInputGroupProps, 'value' | 'onUpdate:value'>;
    disabled?: boolean;
    placeholer?: string;
    trim?: boolean;
    /**
     * 是否默认选择所有的key
     * @default true
     */
    defaultSelectedAllKey?: boolean;
};
