import type { PropType } from 'vue';
export interface BaseInputExpose {
    focus: () => void;
    blur: () => void;
    input: HTMLInputElement | HTMLTextAreaElement | null;
    setSelectionRange: (start: number, end: number, direction?: 'forward' | 'backward' | 'none') => void;
    select: () => void;
    getSelectionStart: () => number | null;
    getSelectionEnd: () => number | null;
    getScrollTop: () => number | null;
    setScrollTop: (scrollTop: number) => void;
}
declare const BaseInputCore: import("vue").DefineComponent<{
    disabled: {
        type: BooleanConstructor;
    };
    type: StringConstructor;
    value: {
        default: any;
        type: PropType<any>;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    tag: {
        type: PropType<"input" | "textarea">;
        default: string;
    };
    size: StringConstructor;
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "focus" | "change" | "blur" | "compositionend" | "compositionstart" | "keydown" | "keyup")[], "input" | "focus" | "change" | "blur" | "compositionend" | "compositionstart" | "keydown" | "keyup", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    disabled: {
        type: BooleanConstructor;
    };
    type: StringConstructor;
    value: {
        default: any;
        type: PropType<any>;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    tag: {
        type: PropType<"input" | "textarea">;
        default: string;
    };
    size: StringConstructor;
}>> & {
    onChange?: (...args: any[]) => any;
    onBlur?: (...args: any[]) => any;
    onFocus?: (...args: any[]) => any;
    onKeyup?: (...args: any[]) => any;
    onKeydown?: (...args: any[]) => any;
    onCompositionend?: (...args: any[]) => any;
    onCompositionstart?: (...args: any[]) => any;
    onInput?: (...args: any[]) => any;
}, {
    value: any;
    disabled: boolean;
    lazy: boolean;
    tag: "input" | "textarea";
}, {}>;
export default BaseInputCore;
