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-list-context-menu 的配置
 */
export declare function extractTaskListContextMenuConfig(vnode: VNode): DeclarativeContextMenuConfig | null;
/**
 * 解析声明式右键菜单配置
 * 从默认 slot 的 VNode 中提取 TaskListContextMenu 的配置
 */
export declare function parseDeclarativeTaskListContextMenu(slots: Slots): DeclarativeContextMenuConfig | null;
/**
 * TaskList Context Menu Composable
 * 用于管理 TaskList 的右键菜单（支持声明式）
 */
export declare function useTaskListContextMenu(slots: Slots): {
    declarativeContextMenu: import('vue').ComputedRef<DeclarativeContextMenuConfig | null>;
    hasDeclarativeContextMenu: import('vue').ComputedRef<boolean>;
};
