import type { DOMRect, InstrumentedFunctionResult, CodeLocationDetails, StepError } from '@testim/root-cause-types'; import type { RootCausePage } from './interfaces'; import { ResolvedSettings } from './userSettings/interfaces'; export interface StartTestParams { fullName: string; fullSuitePath: string; description: string; projectRoot: string; runId: string; } export interface AttachParams { startTestParams?: StartTestParams; activeFeatures?: ActiveFeatures; page: TPage; } export declare type ActiveFeatures = ResolvedSettings['features']; export interface AttachReturn { page: TPage; endTest: EndTestFunction; persist: (resultLabels: string[]) => Promise; pauseStepsRecording(): void; resumeStepsRecording(): void; reportAssertion: ReportAssertion; } export declare type TestEndStatus = InstrumentedFunctionResult; export declare type EndTestFunction = (endStatus: TestEndStatus) => Promise; export interface AssertionReport { name?: string; screenshot?: string; selector?: string; fnName?: string; text?: string; stepError?: StepError; stepCodeLocation?: CodeLocationDetails; rect?: DOMRect & { screenWidth: number; screenHeight: number; devicePixelRatio: number; }; } export declare type ReportAssertion = (assertion: AssertionReport) => void;