import { HTMLAttributes, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { PolymorphicProps } from '../factory';
import { RootEmits, RootProps } from './editable.types';
import { ValueChangeDetails, EditChangeDetails } from '@zag-js/editable';
import { FocusOutsideEvent, InteractOutsideEvent, PointerDownOutsideEvent } from '@zag-js/drawer';
export interface EditableRootBaseProps extends RootProps, PolymorphicProps {
}
export interface EditableRootProps extends EditableRootBaseProps, 
/**
 * @vue-ignore
 */
Omit<HTMLAttributes, 'placeholder'> {
}
export interface EditableRootEmits extends RootEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<EditableRootProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    valueChange: (details: ValueChangeDetails) => any;
    "update:modelValue": (value: string) => any;
    focusOutside: (event: FocusOutsideEvent) => any;
    interactOutside: (event: InteractOutsideEvent) => any;
    pointerDownOutside: (event: PointerDownOutsideEvent) => any;
    editChange: (details: EditChangeDetails) => any;
    valueCommit: (details: ValueChangeDetails) => any;
    valueRevert: (details: ValueChangeDetails) => any;
    "update:edit": (edit: boolean) => any;
}, string, PublicProps, Readonly<EditableRootProps> & Readonly<{
    onValueChange?: ((details: ValueChangeDetails) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
    onInteractOutside?: ((event: InteractOutsideEvent) => any) | undefined;
    onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
    onEditChange?: ((details: EditChangeDetails) => any) | undefined;
    onValueCommit?: ((details: ValueChangeDetails) => any) | undefined;
    onValueRevert?: ((details: ValueChangeDetails) => any) | undefined;
    "onUpdate:edit"?: ((edit: boolean) => any) | undefined;
}>, {
    invalid: boolean;
    disabled: boolean;
    required: boolean;
    readOnly: boolean;
    autoResize: boolean;
    defaultEdit: boolean;
    edit: boolean;
    selectOnFocus: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
