import { RenderNodeFn, VueNode } from "../_util/type.js"; //#region src/select/useIcons.d.ts type RenderNode = VueNode; /** Render info passed to a function `suffix` / `#suffix` slot by the underlying `@v-c/select`. */ interface SelectSuffixRenderInfo { searchValue: string; open: boolean; focused: boolean; showSearch?: boolean; loading?: boolean; } /** * Read the `suffix` render prop with slot priority. The slot (or a function prop) is kept as a * function so `@v-c/select` can call it with the latest open / search state. */ declare function getCustomSuffix(slots: Record, props: { suffix?: any; }): any; declare function useIcons({ suffix, contextSuffix, clearIcon, menuItemSelectedIcon, removeIcon, loading, loadingIcon, multiple, hasFeedback, showSuffix, feedbackIcon, showArrow, componentName }: { suffix?: RenderNode; contextSuffix?: RenderNode; clearIcon?: RenderNode; menuItemSelectedIcon?: RenderNode; removeIcon?: RenderNode; loading?: boolean; loadingIcon?: any; multiple?: boolean; hasFeedback?: boolean; feedbackIcon?: VueNode; prefixCls: string; showSuffix?: boolean; showArrow?: boolean; componentName: string; }): { clearIcon: VueNode; suffix: import("vue").VNode | RenderNodeFn | null; itemIcon: string | number | boolean | import("vue/jsx-runtime").JSX.Element | RenderNodeFn | null; removeIcon: string | number | boolean | import("vue/jsx-runtime").JSX.Element | RenderNodeFn | null; }; //#endregion export { SelectSuffixRenderInfo, useIcons as default, getCustomSuffix };