import { ExtractPropTypes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { Direction } from '../config-provider';
import { AutoSizeType } from '../input/inputProps';
import { VueNode } from '../_util/type';
declare const editableProps: () => {
    prefixCls: StringConstructor;
    value: StringConstructor;
    maxlength: NumberConstructor;
    autoSize: {
        type: PropType<boolean | AutoSizeType>;
    };
    onSave: PropType<(val: string) => void>;
    onCancel: PropType<() => void>;
    onEnd: PropType<() => void>;
    onChange: PropType<(val: string) => void>;
    originContent: StringConstructor;
    direction: PropType<Direction>;
    component: StringConstructor;
};
export type EditableProps = Partial<ExtractPropTypes<ReturnType<typeof editableProps>>>;
declare const Editable: DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    value: StringConstructor;
    maxlength: NumberConstructor;
    autoSize: {
        type: PropType<boolean | AutoSizeType>;
    };
    onSave: PropType<(val: string) => void>;
    onCancel: PropType<() => void>;
    onEnd: PropType<() => void>;
    onChange: PropType<(val: string) => void>;
    originContent: StringConstructor;
    direction: PropType<Direction>;
    component: StringConstructor;
}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    value: StringConstructor;
    maxlength: NumberConstructor;
    autoSize: {
        type: PropType<boolean | AutoSizeType>;
    };
    onSave: PropType<(val: string) => void>;
    onCancel: PropType<() => void>;
    onEnd: PropType<() => void>;
    onChange: PropType<(val: string) => void>;
    originContent: StringConstructor;
    direction: PropType<Direction>;
    component: StringConstructor;
}>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default Editable;
