import type { PropType } from 'vue';
export interface XFormInputMethods {
    focus: () => void;
    validate: (val: any) => boolean;
    setError: (val: string) => void;
}
export declare const useInputtable: {
    (props: any, { focus, emit, withListeners }: {
        focus: () => void;
        emit: any;
        withListeners?: boolean | undefined;
    }): {
        isFirstValidation: import("vue").Ref<boolean, boolean>;
        errorInternal: import("vue").Ref<any, any>;
        hideFooterInternal: import("vue").Ref<any, any>;
        isFocused: import("vue").Ref<boolean, boolean>;
        isInsideForm: boolean;
        isInsideFormGroup: boolean;
        inputListeners: {
            focus: (event: Event) => void;
            blur: (event: Event) => void;
            input: (event: Event) => void;
            change: (event: Event) => void;
        } | import("vue").Ref<{
            focus: (event: Event) => void;
            blur: (event: Event) => void;
            input: (event: Event) => void;
            change: (event: Event) => void;
        }, {
            focus: (event: Event) => void;
            blur: (event: Event) => void;
            input: (event: Event) => void;
            change: (event: Event) => void;
        }> | import("vue").ShallowRef<{
            focus: (event: Event) => void;
            blur: (event: Event) => void;
            input: (event: Event) => void;
            change: (event: Event) => void;
        }, {
            focus: (event: Event) => void;
            blur: (event: Event) => void;
            input: (event: Event) => void;
            change: (event: Event) => void;
        }>;
        formGroup: import("..").FormGroupInjection;
        reset: () => void;
        validate: (val?: any) => boolean;
        setError: (val: string) => void;
    };
    emits(withListeners?: boolean): string[];
    props(): {
        readonly modelValue: {
            readonly type: PropType<string | number | boolean | object | any[] | undefined>;
            readonly default: undefined;
        };
        readonly id: StringConstructor;
        readonly name: StringConstructor;
        readonly readonly: BooleanConstructor;
        readonly required: BooleanConstructor;
        readonly validateOnInput: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly label: StringConstructor;
        readonly helper: StringConstructor;
        readonly error: StringConstructor;
        readonly hideFooter: BooleanConstructor;
        readonly rules: {
            readonly type: ArrayConstructor;
            readonly default: () => never[];
        };
        readonly tooltip: StringConstructor;
        readonly skipFormRegistry: BooleanConstructor;
    };
};
