import { StyleValue } from 'vue';
import { Placement } from '@floating-ui/dom';
import { ComponentSize } from '../../../xiaoye-primitives/index.js';
import { TreeData, TreeKey, TreeOptionProps } from '../../tree/index.js';
import { FilterNodeMethodFunction, LoadFunction } from '../../tree/src/tree.type.js';
export type TreeSelectValueChangeHandler = (value: TreeKey | null) => void;
export type TreeSelectVisibleChangeHandler = (value: boolean) => void;
export interface TreeSelectProps {
    modelValue?: TreeKey | null;
    data?: TreeData;
    nodeKey?: string;
    props?: TreeOptionProps;
    placeholder?: string;
    disabled?: boolean;
    clearable?: boolean;
    filterable?: boolean;
    filterNodeMethod?: FilterNodeMethodFunction;
    lazy?: boolean;
    load?: LoadFunction;
    size?: ComponentSize;
    emptyText?: string;
    searchPlaceholder?: string;
    teleported?: boolean;
    appendTo?: string | HTMLElement;
    placement?: Placement;
    offset?: number;
    popperClass?: string;
    popperStyle?: StyleValue;
}
export type TreeSelectInstance = any;
