import { filterOption } from './helper'; import type { MentionProps } from './mention'; import type { CSSProperties } from 'vue'; import type { InputInstance } from 'element-plus/es/components/input'; import type { TooltipInstance } from 'element-plus/es/components/tooltip'; import type { MentionOption } from './types'; declare var __VLS_15: string | number, __VLS_16: any, __VLS_39: string | number, __VLS_40: any; type __VLS_Slots = {} & { [K in NonNullable]?: (props: typeof __VLS_16) => any; } & { [K in NonNullable]?: (props: typeof __VLS_40) => any; }; declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption, { options: () => never[]; prefix: string; split: string; filterOption: () => (pattern: string, option: MentionOption) => boolean; placement: string; offset: number; popperOptions: () => {}; props: () => Required; disabled: undefined; modelValue: ""; modelModifiers: () => {}; type: import("element-plus/es/components/input").InputType; autocomplete: "off"; clearIcon: any; wordLimitPosition: "inside"; tabindex: 0; validateEvent: true; inputStyle: () => {}; rows: 2; }>, { input: import("vue").Ref; tooltip: import("vue").Ref; dropdownVisible: import("vue").ComputedRef; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { input: (value: string) => void; search: (pattern: string, prefix: string) => void; select: (option: MentionOption, prefix: string) => void; focus: (evt: FocusEvent) => void; "update:modelValue": (value: string) => void; blur: (evt: FocusEvent) => void; "whole-remove": (pattern: string, prefix: string) => void; }, string, import("vue").PublicProps, Readonly, { options: () => never[]; prefix: string; split: string; filterOption: () => (pattern: string, option: MentionOption) => boolean; placement: string; offset: number; popperOptions: () => {}; props: () => Required; disabled: undefined; modelValue: ""; modelModifiers: () => {}; type: import("element-plus/es/components/input").InputType; autocomplete: "off"; clearIcon: any; wordLimitPosition: "inside"; tabindex: 0; validateEvent: true; inputStyle: () => {}; rows: 2; }>>> & { "onUpdate:modelValue"?: ((value: string) => any) | undefined; onSelect?: ((option: MentionOption, prefix: string) => any) | undefined; onInput?: ((value: string) => any) | undefined; onFocus?: ((evt: FocusEvent) => any) | undefined; onBlur?: ((evt: FocusEvent) => any) | undefined; onSearch?: ((pattern: string, prefix: string) => any) | undefined; "onWhole-remove"?: ((pattern: string, prefix: string) => any) | undefined; }, { disabled: boolean; tabindex: string | number; split: string; offset: number; type: import("element-plus/es/components/input").InputType; props: import("./mention").MentionOptionProps; modelValue: string; placement: "bottom" | "top"; options: MentionOption[]; prefix: string | string[]; modelModifiers: import("element-plus/es/components/input").InputModelModifiers; autocomplete: string; clearIcon: string | import("vue").Component; wordLimitPosition: "inside" | "outside"; validateEvent: boolean; inputStyle: string | false | CSSProperties | import("vue").StyleValue[] | null; rows: number; popperOptions: Partial; filterOption: false | typeof filterOption; }, {}>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_TypePropsToOption = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType[K]>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithDefaultsLocal = { [K in keyof Pick]: K extends keyof D ? __VLS_PrettifyLocal : P[K]; }; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; type __VLS_PrettifyLocal = { [K in keyof T as K]: T[K]; } & {};