import { Ref, ComputedRef } from 'vue';
import { Task } from '../models/classes/Task';
import { Resource } from '../models/classes/Resource';
import { TaskListConfig } from '../models/configs/TaskListConfig';
import { ResourceListConfig } from '../models/configs/ResourceListConfig';
/**
 * 在子组件中使用：统一注入视图模式相关状态
 *
 * 用法：
 * ```ts
 * const { viewMode, dataSource, isResourceView, isTaskView } = useViewMode()
 * ```
 */
export declare function useViewMode(): {
    viewMode: Ref<"task" | "resource", "task" | "resource">;
    dataSource: ComputedRef<Task[] | Resource[]>;
    listConfig: ComputedRef<TaskListConfig | ResourceListConfig | null>;
    isResourceView: ComputedRef<boolean>;
    isTaskView: ComputedRef<boolean>;
};
/**
 * 在GanttChart等父组件中使用：提供视图模式状态
 *
 * 用法：
 * ```ts
 * const { provideViewMode } = useViewMode()
 * provideViewMode(currentViewMode, currentDataSource, currentListConfig)
 * ```
 */
export declare function provideViewMode(viewMode: Ref<'task' | 'resource'>, dataSource: ComputedRef<Task[] | Resource[]>, listConfig: ComputedRef<TaskListConfig | ResourceListConfig | null>): {
    viewMode: Ref<"task" | "resource", "task" | "resource">;
    dataSource: ComputedRef<Task[] | Resource[]>;
    listConfig: ComputedRef<TaskListConfig | ResourceListConfig | null>;
};
