import { ComponentPublicInstance, CSSProperties } from 'vue'; import { FocusableRef, FormChildRef } from '../../declaration'; import { default as VsSelect } from './VsSelect.vue'; import { default as VsSelectTrigger } from './VsSelectTrigger.vue'; import { VsChipStyleSet } from '../vs-chip/types'; import { VsGroupedListStyleSet } from '../vs-grouped-list/types'; import { VsCheckboxStyleSet } from '../vs-checkbox/types'; import { VsInputWrapperStyleSet } from '../vs-input-wrapper/types'; import { VsLoadingStyleSet } from '../vs-loading/types'; declare module 'vue' { interface GlobalComponents { VsSelect: typeof VsSelect; } } export type { VsSelect, VsSelectTrigger }; export interface VsSelectRef extends ComponentPublicInstance, FocusableRef, FormChildRef { openOptions: () => void; closeOptions: () => void; } export interface VsSelectTriggerRef extends ComponentPublicInstance, FocusableRef { } export interface VsSelectStyleSet extends CSSProperties { $wrapper?: VsInputWrapperStyleSet; $chip?: VsChipStyleSet; $loading?: VsLoadingStyleSet; $selectAllCheckbox?: VsCheckboxStyleSet; $options?: VsGroupedListStyleSet; $option?: CSSProperties & { $focused?: CSSProperties; $selected?: CSSProperties; }; }