import type { ComputedRef, Ref, RenderFunction, SetupContext } from 'vue' import type { ISelectProps } from 'element-plus' import type { SelectProps } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' // select export declare const KSelect: DefineComponentApp export type KSelectInstance = DefineComponentInstance export interface KSelectConstructor extends ComponentBaseOptions, KSelectMethods { props: KSelectProps context: SetupContext getRefMaps(): KSelectPrivateRef getComputeMaps(): KSelectPrivateComputed renderVN: RenderFunction } export interface KSelectPrivateRef { refElem: Ref } export interface KSelectPrivateComputed { } export type KSelectProps = Merge export type KSelectEmits = { updateModelValue: (value: any) => void change: (value: any) => void removeTag: (tagValue: any) => void clear: () => void visibleChange: (visible: boolean) => void focus: (evt: FocusEvent) => void blur: (evt: FocusEvent) => void } export interface KSelectSlots { default: () => ComponentSlotType header: () => ComponentSlotType footer: () => ComponentSlotType prefix: () => ComponentSlotType empty: () => ComponentSlotType tag: () => ComponentSlotType loading: () => ComponentSlotType label: () => ComponentSlotType } export type KSelectMethods = { focus: () => void blur: () => void selectedLabel: ComputedRef } // option group export declare const KOptionGroup: DefineComponentApp export type KOptionGroupInstance = DefineComponentInstance export interface KOptionGroupConstructor extends ComponentBaseOptions, KOptionGroupMethods { props: KOptionGroupProps context: SetupContext getRefMaps(): KOptionGroupPrivateRef getComputeMaps(): KOptionGroupPrivateComputed renderVN: RenderFunction } export interface KOptionGroupPrivateRef { refElem: Ref } export interface KOptionGroupPrivateComputed { } export type KOptionGroupProps = { label: string | number disabled?: boolean } export interface KOptionGroupEmits { } export interface KOptionGroupSlots { default: () => ComponentSlotType } export interface KOptionGroupMethods { } // option export declare const KOption: DefineComponentApp export type KOptionInstance = DefineComponentInstance export interface KOptionConstructor extends ComponentBaseOptions, KOptionMethods { props: KOptionProps context: SetupContext getRefMaps(): KOptionPrivateRef getComputeMaps(): KOptionPrivateComputed renderVN: RenderFunction } export interface KOptionPrivateRef { refElem: Ref } export interface KOptionPrivateComputed { } export type KOptionProps = { value?: string | number | boolean | { [key: string]: any } label?: string | number disabled?: boolean } export interface KOptionEmits { } export interface KOptionSlots { default: () => ComponentSlotType } export interface KOptionMethods { }