import { ComponentPropsWithoutRef, MutableRefObject, MouseEventHandler, ReactNode } from 'react';
import { ChipProps } from '../../Chip';
import { FieldLabelProps } from '../../FieldLabel';
import { TextFieldProps } from '../../TextField';
import { DistributiveOmit } from '../../../types';
type PartialChipProps = Partial<Omit<ChipProps, "icon" | "avatar">> & ({
    icon?: ChipProps["icon"];
    avatar?: never;
} | {
    icon?: never;
    avatar?: ChipProps["avatar"];
});
export type SelectTriggerBaseProps<Item = unknown> = DistributiveOmit<TextFieldProps, "showCounter" | "prefix"> & {
    /**
     * Should be a positive integer.
     */
    maxRows?: number;
    /** Allows Combobox/Select to display custom-colored Chips */
    selectedItemProps?: (item: Item, index: number) => PartialChipProps;
} & {
    itemToString?: (item: Item) => string;
    removeSelectedItem?: (item: Item) => void;
    disableClearSelection?: boolean;
    selectedItem: Item | null;
    selectedItems: Item[];
    inputValue?: string;
    referenceRef?: MutableRefObject<HTMLDivElement | null>;
} & {
    variant?: "select" | "combobox";
    onClearButtonClick?: MouseEventHandler<HTMLButtonElement>;
    labelProps?: Partial<FieldLabelProps>;
    inputWrapperProps?: ComponentPropsWithoutRef<"div">;
    toggleButtonProps?: ComponentPropsWithoutRef<"button">;
    chipProps?: (item: Item, index: number) => PartialChipProps;
    inputProps?: ComponentPropsWithoutRef<"input" | "div">;
    disableToggleButton?: boolean;
} & {
    prefix?: string | ReactNode;
};
export declare const SelectTriggerBase: <Item>({ className, label, size, error, hint, description, prefix, suffix, maxRows, selectedItemProps, disabled, readOnly, disableClearSelection, itemToString: itemToStringProp, selectedItem, selectedItems, removeSelectedItem, inputValue, referenceRef, variant, onClearButtonClick, labelProps, inputWrapperProps, toggleButtonProps, inputProps, chipProps, disableToggleButton, warning, placeholder, ...rest }: SelectTriggerBaseProps<Item>) => import("react/jsx-runtime").JSX.Element;
export {};
