import { EpVNodeProp } from '@yanzhen-libs/utils-vue';
import { ComponentPublicInstance, SetupContext } from 'vue';
import { TagEmits, TagProps } from './tag';
export declare function useTag(props: Partial<TagProps>, emit: SetupContext<TagEmits>['emit']): readonly [{
    readonly _ref: import('vue').Ref<ComponentPublicInstance, ComponentPublicInstance>;
    readonly _inputRef: import('vue').Ref<ComponentPublicInstance, ComponentPublicInstance>;
    readonly visible: import('vue').WritableComputedRef<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>, import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
    readonly tags: import('vue').Ref<string[], string[]>;
    readonly proxyProps: import('vue').ComputedRef<Partial<Partial<TagProps>>>;
    readonly _props: import('vue').ComputedRef<{
        [x: string]: unknown;
    }>;
    readonly handleClose: (e: MouseEvent, removedTag: string) => void;
    readonly editState: {
        inputVisible: boolean;
        inputValue: string;
    };
    readonly handleInputConfirm: (e: MouseEvent | FocusEvent | KeyboardEvent) => void;
    readonly showInput: () => Promise<void>;
}, (props: EpVNodeProp<Partial<TagProps>>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}>];
