import type { InputHTMLAttributes, PropType, VNodeChild } from 'vue';
import type { VOverflowInst } from 'vueuc';
import type { FormValidationStatus } from '../../../form/src/interface';
import type { PopoverProps } from '../../../popover';
import type { SelectBaseOption } from '../../../select/src/interface';
import type { TagRef } from '../../../tag/src/Tag';
import type { RenderLabel, RenderLabelImpl } from '../../select-menu/src/interface';
import type { RenderTag, SelectSize } from './interface';
export interface InternalSelectionInst {
isComposing: boolean;
focus: () => void;
focusInput: () => void;
blur: () => void;
blurInput: () => void;
$el: HTMLElement;
}
declare const _default: import("vue").DefineComponent;
default: undefined;
};
active: BooleanConstructor;
pattern: {
type: StringConstructor;
default: string;
};
placeholder: StringConstructor;
selectedOption: {
type: PropType;
default: null;
};
selectedOptions: {
type: PropType;
default: null;
};
labelField: {
type: StringConstructor;
default: string;
};
valueField: {
type: StringConstructor;
default: string;
};
tagField: StringConstructor;
multiple: BooleanConstructor;
filterable: BooleanConstructor;
clearable: BooleanConstructor;
disabled: BooleanConstructor;
size: {
type: PropType;
default: string;
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
autofocus: BooleanConstructor;
showArrow: {
type: BooleanConstructor;
default: boolean;
};
inputProps: PropType;
focused: BooleanConstructor;
filled: BooleanConstructor;
renderTag: PropType;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onClick: PropType<(e: MouseEvent) => void>;
onBlur: PropType<(e: FocusEvent) => void>;
onFocus: PropType<(e: FocusEvent) => void>;
onDeleteOption: PropType<(option: SelectBaseOption) => void>;
maxTagCount: PropType;
ellipsisTagPopoverProps: PropType;
onClear: PropType<(e: MouseEvent) => void>;
onPatternInput: PropType<(e: InputEvent) => void>;
onPatternFocus: PropType<(e: FocusEvent) => void>;
onPatternBlur: PropType<(e: FocusEvent) => void>;
renderLabel: PropType;
renderTagLabel: PropType;
status: PropType;
inlineThemeDisabled: BooleanConstructor;
ignoreComposition: {
type: BooleanConstructor;
default: boolean;
};
onResize: PropType<() => void>;
round: BooleanConstructor;
counter: BooleanConstructor;
secondary: BooleanConstructor;
account: BooleanConstructor;
theme: PropType;
}>>;
themeOverrides: PropType;
}>>>;
builtinThemeOverrides: PropType;
}>>>;
}>, {
mergedTheme: import("vue").ComputedRef<{
common: import("../../..").ThemeCommonVars;
self: {
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
clearSizeTiny: string;
clearSizeSmall: string;
clearSizeMedium: string;
clearSizeLarge: string;
clearSizeHuge: string;
arrowSizeTiny: string;
arrowSizeSmall: string;
arrowSizeMedium: string;
arrowSizeLarge: string;
arrowSizeHuge: string;
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
lineHeightTiny: string;
lineHeightSmall: string;
lineHeightMedium: string;
lineHeightLarge: string;
lineHeightHuge: string;
heightTiny: string;
heightSmall: string;
heightMedium: string;
heightLarge: string;
heightHuge: string;
borderRadiusTiny: string;
borderRadiusSmall: string;
borderRadiusMedium: string;
borderRadiusLarge: string;
borderRadiusHuge: string;
textColor: string;
textColorDisabled: string;
placeholderColor: string;
placeholderColorDisabled: string;
color: string;
colorFilled: string;
colorDisabled: string;
colorActive: string;
border: string;
borderFilled: string;
borderHover: string;
borderActive: string;
borderFocus: string;
borderDisabled: string;
boxShadowHover: string;
boxShadowActive: string;
boxShadowFocus: string;
caretColor: string;
arrowColor: string;
arrowColorHover: string;
arrowColorDisabled: string;
loadingColor: string;
borderWarning: string;
borderHoverWarning: string;
borderActiveWarning: string;
borderFocusWarning: string;
boxShadowHoverWarning: string;
boxShadowActiveWarning: string;
boxShadowFocusWarning: string;
colorActiveWarning: string;
caretColorWarning: string;
borderError: string;
borderHoverError: string;
borderActiveError: string;
borderFocusError: string;
boxShadowHoverError: string;
boxShadowActiveError: string;
boxShadowFocusError: string;
colorActiveError: string;
caretColorError: string;
clearColor: string;
clearColorHover: string;
clearColorPressed: string;
caretColorSecondary: string;
filterCounterTextColor: string;
filterCounterTextColorDisabled: string;
arrowColorSecondary: string;
clearColorSecondary: string;
colorSecondary: string;
textColorSecondary: string;
borderSecondary: string;
arrowColorDisabledSecondary: string;
clearColorDisabledSecondary: string;
colorDisabledSecondary: string;
textColorDisabledSecondary: string;
borderDisabledSecondary: string;
arrowColorHoverSecondary: string;
clearColorHoverSecondary: string;
colorHoverSecondary: string;
textColorHoverSecondary: string;
borderHoverSecondary: string;
arrowColorFocusSecondary: string;
clearColorFocusSecondary: string;
colorFocusSecondary: string;
textColorFocusSecondary: string;
borderFocusSecondary: string;
arrowColorActiveSecondary: string;
clearColorActiveSecondary: string;
colorActiveSecondary: string;
textColorActiveSecondary: string;
borderActiveSecondary: string;
};
peers: {
Popover: import("../../../_mixins").Theme<"Popover", {
space: string;
spaceArrow: string;
arrowOffset: string;
arrowOffsetVertical: string;
arrowHeight: string;
padding: string;
fontSize: string;
borderRadius: string;
color: string;
dividerColor: string;
textColor: string;
boxShadow: string;
}, any>;
};
peerOverrides: {
Popover?: {
peers?: {
[x: string]: any;
} | undefined;
} | undefined;
};
}>;
mergedClearable: import("vue").ComputedRef;
patternInputFocused: import("vue").Ref;
filterablePlaceholder: import("vue").ComputedRef;
label: import("vue").ComputedRef;
selected: import("vue").ComputedRef;
showTagsPanel: import("vue").Ref;
isComposing: import("vue").Ref;
counterRef: import("vue").Ref<{
$el: HTMLElement;
setTextContent: (textContent: string) => void;
} | null, TagRef | {
$el: HTMLElement;
setTextContent: (textContent: string) => void;
} | null>;
counterWrapperRef: import("vue").Ref;
patternInputMirrorRef: import("vue").Ref;
patternInputRef: import("vue").Ref;
selfRef: import("vue").Ref;
multipleElRef: import("vue").Ref;
singleElRef: import("vue").Ref;
patternInputWrapperRef: import("vue").Ref;
overflowRef: import("vue").Ref<{
sync: (options: {
showAllItemsBeforeCalculate: boolean;
}) => void;
} | null, VOverflowInst | {
sync: (options: {
showAllItemsBeforeCalculate: boolean;
}) => void;
} | null>;
inputTagElRef: import("vue").Ref;
handleMouseDown: (e: MouseEvent) => void;
handleFocusin: (e: FocusEvent) => void;
handleClear: (e: MouseEvent) => void;
handleMouseEnter: () => void;
handleMouseLeave: () => void;
handleDeleteOption: (option: SelectBaseOption) => void;
handlePatternKeyDown: (e: KeyboardEvent) => void;
handlePatternInputInput: (e: InputEvent) => void;
handlePatternInputBlur: (e: FocusEvent) => void;
handlePatternInputFocus: (e: FocusEvent) => void;
handleMouseEnterCounter: () => void;
handleMouseLeaveCounter: () => void;
handleFocusout: (e: FocusEvent) => void;
handleCompositionEnd: () => void;
handleCompositionStart: () => void;
onPopoverUpdateShow: (show: boolean) => void;
focus: () => void;
focusInput: () => void;
blur: () => void;
blurInput: () => void;
updateCounter: (count: number) => void;
getCounter: () => HTMLElement | null;
getTail: () => HTMLElement | null;
renderLabel: RenderLabelImpl;
renderTagLabel: RenderLabelImpl;
cssVars: import("vue").ComputedRef<{
'--u-bezier': string;
'--u-border': string;
'--u-border-filled': string;
'--u-border-active': string;
'--u-border-focus': string;
'--u-border-hover': string;
'--u-border-disabled': string;
'--u-border-radius': string;
'--u-box-shadow-active': string;
'--u-box-shadow-focus': string;
'--u-box-shadow-hover': string;
'--u-caret-color': string;
'--u-color': string;
'--u-color-filled': string;
'--u-color-active': string;
'--u-color-disabled': string;
'--u-line-height': string;
'--u-font-size': string;
'--u-font-weight': string;
'--u-height': string;
'--u-padding': string;
'--u-padding-top': string;
'--u-padding-right': string;
'--u-padding-left': string;
'--u-padding-bottom': string;
'--u-placeholder-color': string;
'--u-placeholder-color-disabled': string;
'--u-text-color': string;
'--u-text-color-disabled': string;
'--u-arrow-color': string;
'--u-arrow-color-hover': string;
'--u-arrow-color-disabled': string;
'--u-loading-color': string;
'--u-color-active-warning': string;
'--u-box-shadow-focus-warning': string;
'--u-box-shadow-active-warning': string;
'--u-box-shadow-hover-warning': string;
'--u-border-warning': string;
'--u-border-focus-warning': string;
'--u-border-hover-warning': string;
'--u-border-active-warning': string;
'--u-color-active-error': string;
'--u-box-shadow-focus-error': string;
'--u-box-shadow-active-error': string;
'--u-box-shadow-hover-error': string;
'--u-border-error': string;
'--u-border-focus-error': string;
'--u-border-hover-error': string;
'--u-border-active-error': string;
'--u-clear-size': string;
'--u-clear-color': string;
'--u-clear-color-hover': string;
'--u-clear-color-pressed': string;
'--u-arrow-size': string;
'--u-caret-color-secondary': string;
'--u-filter-counter-text-color': string;
'--u-filter-counter-text-color-disabled': string;
'--u-arrow-color-secondary': string;
'--u-clear-color-secondary': string;
'--u-color-secondary': string;
'--u-text-color-secondary': string;
'--u-border-secondary': string;
'--u-arrow-color-disabled-secondary': string;
'--u-clear-color-disabled-secondary': string;
'--u-color-disabled-secondary': string;
'--u-text-color-disabled-secondary': string;
'--u-border-disabled-secondary': string;
'--u-arrow-color-hover-secondary': string;
'--u-clear-color-hover-secondary': string;
'--u-color-hover-secondary': string;
'--u-text-color-hover-secondary': string;
'--u-border-hover-secondary': string;
'--u-arrow-color-active-secondary': string;
'--u-clear-color-active-secondary': string;
'--u-color-active-secondary': string;
'--u-text-color-active-secondary': string;
'--u-border-active-secondary': string;
'--u-arrow-color-focus-secondary': string;
'--u-clear-color-focus-secondary': string;
'--u-color-focus-secondary': string;
'--u-text-color-focus-secondary': string;
'--u-border-focus-secondary': string;
}> | undefined;
themeClass: import("vue").Ref | undefined;
onRender: (() => void) | undefined;
showSuffixClear: import("vue").ComputedRef;
filterCounterVisible: import("vue").ComputedRef;
filterCounterLength: import("vue").ComputedRef;
filterCounterClearable: import("vue").ComputedRef;
tagSize: import("vue").ComputedRef<"small" | "medium">;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly;
default: undefined;
};
active: BooleanConstructor;
pattern: {
type: StringConstructor;
default: string;
};
placeholder: StringConstructor;
selectedOption: {
type: PropType;
default: null;
};
selectedOptions: {
type: PropType;
default: null;
};
labelField: {
type: StringConstructor;
default: string;
};
valueField: {
type: StringConstructor;
default: string;
};
tagField: StringConstructor;
multiple: BooleanConstructor;
filterable: BooleanConstructor;
clearable: BooleanConstructor;
disabled: BooleanConstructor;
size: {
type: PropType;
default: string;
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
autofocus: BooleanConstructor;
showArrow: {
type: BooleanConstructor;
default: boolean;
};
inputProps: PropType;
focused: BooleanConstructor;
filled: BooleanConstructor;
renderTag: PropType;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onClick: PropType<(e: MouseEvent) => void>;
onBlur: PropType<(e: FocusEvent) => void>;
onFocus: PropType<(e: FocusEvent) => void>;
onDeleteOption: PropType<(option: SelectBaseOption) => void>;
maxTagCount: PropType;
ellipsisTagPopoverProps: PropType;
onClear: PropType<(e: MouseEvent) => void>;
onPatternInput: PropType<(e: InputEvent) => void>;
onPatternFocus: PropType<(e: FocusEvent) => void>;
onPatternBlur: PropType<(e: FocusEvent) => void>;
renderLabel: PropType;
renderTagLabel: PropType;
status: PropType;
inlineThemeDisabled: BooleanConstructor;
ignoreComposition: {
type: BooleanConstructor;
default: boolean;
};
onResize: PropType<() => void>;
round: BooleanConstructor;
counter: BooleanConstructor;
secondary: BooleanConstructor;
account: BooleanConstructor;
theme: PropType;
}>>;
themeOverrides: PropType;
}>>>;
builtinThemeOverrides: PropType;
}>>>;
}>> & Readonly<{}>, {
bordered: boolean | undefined;
inlineThemeDisabled: boolean;
disabled: boolean;
size: SelectSize;
pattern: string;
loading: boolean;
clearable: boolean;
round: boolean;
loadingSkeleton: boolean;
secondary: boolean;
showArrow: boolean;
multiple: boolean;
filterable: boolean;
valueField: string;
labelField: string;
filled: boolean;
ignoreComposition: boolean;
counter: boolean;
account: boolean;
autofocus: boolean;
active: boolean;
focused: boolean;
selectedOption: SelectBaseOption, selected: boolean) => VNodeChild)> | null;
selectedOptions: SelectBaseOption, selected: boolean) => VNodeChild)>[] | null;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;