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 {
}
export interface EditableRootEmits extends RootEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent 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 & 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 & {
new (): {
$slots: S;
};
};