import { HTMLAttributes, VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
import { Assign } from '../../types';
import { TreeNode } from '../collection';
import { PolymorphicProps } from '../factory';
import { RootProps } from './tree-view.types';
import { RenderStrategyProps } from '../../utils/use-render-strategy';
import { FocusChangeDetails, CheckedChangeDetails, ExpandedChangeDetails, SelectionChangeDetails, LoadChildrenCompleteDetails, LoadChildrenErrorDetails, RenameStartDetails, RenameCompleteDetails } from '@zag-js/tree-view';
export interface TreeViewRootBaseProps<T extends TreeNode> extends RootProps<T>, RenderStrategyProps, PolymorphicProps {
}
export interface TreeViewRootProps<T extends TreeNode> extends TreeViewRootBaseProps<T>, 
/**
 * @vue-ignore
 */
HTMLAttributes {
}
export type TreeViewRootComponentProps<T extends TreeNode = TreeNode, P = {}> = Assign<TreeViewRootProps<T>, P>;
export type TreeViewRootComponent<P = {}> = <T extends TreeNode>(props: TreeViewRootComponentProps<T, P>) => any;
export type { RootEmits as TreeViewRootEmits } from './tree-view.types';
declare const _default: <T extends TreeNode>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onFocusChange?: ((details: FocusChangeDetails<any>) => any) | undefined;
        readonly onCheckedChange?: ((details: CheckedChangeDetails) => any) | undefined;
        readonly "onUpdate:focusedValue"?: ((value: string | null) => any) | undefined;
        readonly onExpandedChange?: ((details: ExpandedChangeDetails<any>) => any) | undefined;
        readonly onSelectionChange?: ((details: SelectionChangeDetails<any>) => any) | undefined;
        readonly onLoadChildrenComplete?: ((details: LoadChildrenCompleteDetails<T>) => any) | undefined;
        readonly onLoadChildrenError?: ((details: LoadChildrenErrorDetails<T>) => any) | undefined;
        readonly onRenameStart?: ((details: RenameStartDetails<T>) => any) | undefined;
        readonly onBeforeRename?: ((details: RenameCompleteDetails) => any) | undefined;
        readonly onRenameComplete?: ((details: RenameCompleteDetails) => any) | undefined;
        readonly "onUpdate:expandedValue"?: ((value: string[]) => any) | undefined;
        readonly "onUpdate:selectedValue"?: ((value: string[]) => any) | undefined;
        readonly "onUpdate:checkedValue"?: ((value: string[]) => any) | undefined;
    } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onFocusChange" | "onCheckedChange" | "onUpdate:focusedValue" | "onExpandedChange" | "onSelectionChange" | "onRenameStart" | "onBeforeRename" | "onRenameComplete" | "onLoadChildrenComplete" | "onLoadChildrenError" | "onUpdate:expandedValue" | "onUpdate:selectedValue" | "onUpdate:checkedValue"> & TreeViewRootProps<T> & Partial<{}>> & PublicProps;
    expose(exposed: ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        default?(_: {}): any;
    };
    emit: ((evt: "focusChange", details: FocusChangeDetails<any>) => void) & ((evt: "checkedChange", details: CheckedChangeDetails) => void) & ((evt: "update:focusedValue", value: string | null) => void) & ((evt: "expandedChange", details: ExpandedChangeDetails<any>) => void) & ((evt: "selectionChange", details: SelectionChangeDetails<any>) => void) & ((evt: "loadChildrenComplete", details: LoadChildrenCompleteDetails<T>) => void) & ((evt: "loadChildrenError", details: LoadChildrenErrorDetails<T>) => void) & ((evt: "renameStart", details: RenameStartDetails<T>) => void) & ((evt: "beforeRename", details: RenameCompleteDetails) => void) & ((evt: "renameComplete", details: RenameCompleteDetails) => void) & ((evt: "update:expandedValue", value: string[]) => void) & ((evt: "update:selectedValue", value: string[]) => void) & ((evt: "update:checkedValue", value: string[]) => void);
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
