import type { Ref, RenderFunction, SetupContext, StyleValue } from 'vue' import type { InputEmits as ElInputEmits, InputProps as ElInputProps } from 'element-plus' import type { InputProps } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' export declare const KInput: DefineComponentApp export type KInputInstance = DefineComponentInstance export interface KInputConstructor extends ComponentBaseOptions, KInputMethods { props: KInputProps context: SetupContext getRefMaps(): KInputPrivateRef getComputeMaps(): KInputPrivateComputed renderVN: RenderFunction } export interface KInputPrivateRef { refElem: Ref } export interface KInputPrivateComputed { } export type KInputProps = Merge export type KInputEmits = Merge< { popperShow: () => void popperHide: () => void }, ElInputEmits > export interface KInputSlots { prefix?: () => ComponentSlotType suffix?: () => ComponentSlotType prepend?: () => ComponentSlotType append?: () => ComponentSlotType empty?: () => ComponentSlotType } export type KInputMethods = { blur: () => void focus: () => void clear: () => void input: Ref ref: Ref resizeTextarea: () => void select: () => void textarea: Ref textareaStyle: Ref isComposing: Ref }