import { Ref, ComputedRef } from 'vue'; import { TreeNode, SummaryData, SelectOption } from '../types'; export interface UseExperimentDataOptions { apiBaseUrl?: string; immediate?: boolean; } export interface UseExperimentDataReturn { /** Raw experiment data response from `/experiments/{id}/data`, or null. */ data: Ref | null>; /** Plugin-defined design_data payload unwrapped from platform response shapes, or null. */ designData: ComputedRef | null>; /** Sample values extracted from design_data for SampleSelector-style components. */ sampleNames: ComputedRef; /** Sample options extracted from design_data for select/dropdown components. */ sampleOptions: ComputedRef[]>; /** Hierarchy tree rows normalised from `tree_data` or `treeData`. */ treeData: ComputedRef; /** Table rows normalised from `table_data` or `tableData`. */ tableData: ComputedRef[]>; /** Summary payload normalised from `summary_data` or `summaryData`, or null. */ summaryData: ComputedRef; /** Whether experiment data is currently loading. */ isLoading: Ref; /** Error message from the last failed fetch, or null. */ error: Ref; /** Timestamp of the last successful experiment data fetch, or null. */ lastLoadedAt: Ref; /** Fetch experiment data for an experiment id. */ fetch: (experimentId: number) => Promise | null>; /** Refetch the most recently fetched experiment id. */ refresh: () => Promise; /** Clear local experiment data and current fetch target. */ clear: () => void; } /** Fetches and normalises experiment output data (tree, table, summary) from the platform API. */ export declare function useExperimentData(options?: UseExperimentDataOptions): UseExperimentDataReturn;