import { VNode, Slots, VNodeChild } from 'vue';
import { Task } from '../../../models/classes/Task';
/**
 * 声明式右键菜单配置接口
 */
export interface DeclarativeContextMenuConfig {
    defaultSlot?: (scope: {
        row: Task;
        $index: number;
    }) => VNodeChild;
    taskType?: string | string[];
}
/**
 * 从 VNode 中提取 task-bar-context-menu 的配置
 */
export declare function extractTaskBarContextMenuConfig(vnode: VNode): DeclarativeContextMenuConfig | null;
/**
 * 解析声明式右键菜单配置
 * 从默认 slot 的 VNode 中提取 TaskBarContextMenu 的配置
 */
export declare function parseDeclarativeTaskBarContextMenu(slots: Slots): DeclarativeContextMenuConfig | null;
/**
 * TaskBar Context Menu Composable
 * 用于管理 TaskBar 的右键菜单（支持声明式）
 */
export declare function useTaskBarContextMenu(slots: Slots): {
    declarativeContextMenu: import('vue').ComputedRef<DeclarativeContextMenuConfig | null>;
    hasDeclarativeContextMenu: import('vue').ComputedRef<boolean>;
};
