import { LaboratoryOperation } from './operations'; export interface LaboratoryTestTaskBase { id: string; next: string | null; } export interface LaboratoryTestTaskOperation extends LaboratoryTestTaskBase { type: 'operation'; data: Pick; } export interface LaboratoryTestTaskUtlity extends LaboratoryTestTaskBase { type: 'utility'; data: unknown; } export type LaboratoryTestTask = LaboratoryTestTaskOperation | LaboratoryTestTaskUtlity; export interface LaboratoryTest { id: string; name: string; description?: string; createdAt: string; tasks: LaboratoryTestTask[]; } export interface LaboratoryTestState { tests: LaboratoryTest[]; } export interface LaboratoryTestActions { addTest: (test: Omit) => LaboratoryTest; addTaskToTest: (testId: string, task: Pick) => void; deleteTaskFromTest: (testId: string, taskId: string) => void; deleteTest: (testId: string) => void; } export declare const useTests: (props: { defaultTests?: LaboratoryTest[]; onTestsChange?: (test: LaboratoryTest[]) => void; }) => LaboratoryTestState & LaboratoryTestActions;