import type { MaybeRefOrGetter, Ref } from 'vue';
export type CollapsibleOptions = {
    /**
     * @desc 初始化展开的节点
     * @descEN default expanded keys
     */
    defaultExpandedKeys?: string[];
    /**
     * @desc 当前展开的节点
     * @descEN current expanded keys
     */
    expandedKeys?: string[];
    /**
     * @desc 展开节点变化回调
     * @descEN callback when expanded keys change
     */
    onExpand?: (expandedKeys: string[]) => void;
};
export type Collapsible = boolean | CollapsibleOptions;
export type UseCollapsibleConfig = {
    /**
     * @desc 兼容旧版链级折叠配置
     * @descEN Legacy chain-level collapsible config
     */
    collapsible?: Collapsible;
    defaultExpandedKeys?: string[];
    expandedKeys?: string[];
    onExpand?: (expandedKeys: string[]) => void;
};
type UseCollapsible = (config?: MaybeRefOrGetter<UseCollapsibleConfig>, prefixCls?: string, rootPrefixCls?: string) => [
    /** Chain-level force: all items collapsible (Vue compat `collapsible`) */
    Ref<boolean>,
    Ref<string[]>,
    (curKey: string) => void
];
declare const useCollapsible: UseCollapsible;
export default useCollapsible;
