import { type FormPopoutProps } from './useFormPopout';
import { type TransitionHookName } from './useTransition';
import { type TransitionHookEmits } from '../components/popup/common';
import { type PopoutInputSlots, type PopoutInputProps } from '../components/popout-input/common';
export interface UsePopoutInputProps {
    visible?: boolean;
    modelValue?: any;
    valueOnClear?: () => any;
}
export interface UsePopoutInputEmits extends TransitionHookEmits {
    (e: 'update:visible', visible: boolean): void;
    (e: 'update:model-value', ...args: any[]): void;
    (e: 'change', ...args: any[]): void;
}
export declare function pickPopoutInputProps(props: PopoutInputProps & {}, slots: PopoutInputSlots & {}): import("vue").ComputedRef<{
    rootStyle: import("vue").StyleValue;
    rootClass: string | undefined;
    placeholder: string | undefined;
    readonly: boolean | undefined;
    disabled: boolean | undefined;
    clearable: boolean | undefined;
    loading: boolean | undefined;
    multiline: boolean | undefined;
    arrow: string | undefined;
    arrowFamily: string | undefined;
    inputProps: import("..").InputProps | undefined;
    internalPrepend: number;
    internalAppend: number;
    internalArrow: number;
}>;
export declare function omitPopoutInputProps(props: PopoutInputProps & FormPopoutProps & {}, keys?: any[]): import("vue").ComputedRef<{
    title: string | undefined;
}>;
export declare function usePopoutInput(props: UsePopoutInputProps, emit: UsePopoutInputEmits, options?: {
    onClear?: (value: any) => void;
}): {
    innerVisible: import("vue").Ref<boolean | undefined, boolean | undefined>;
    innerValue: import("vue").Ref<any, any>;
    inputValue: import("vue").Ref<string, string>;
    show: () => void;
    onChange: (...args: any[]) => void;
    onClear: () => void;
    onVisibleHook: (name: TransitionHookName) => void;
};
