import type { ReflectionConfig, RunMode } from './config.js'; export type TargetSource = 'reflection-config' | 'adapter'; export type TargetFamily = 'browser-route' | 'route-visual' | 'component-visual' | 'design-command'; export type TargetIR = { project: string; targets: ReflectionTarget[]; }; export type ReflectionTarget = BrowserRouteTarget | RouteVisualTarget | ComponentVisualTarget | DesignCommandTarget; type TargetBase = { id: string; family: TargetFamily; source: TargetSource; runModes: RunMode[]; blocking: boolean; }; export type BrowserRouteTarget = TargetBase & { family: 'browser-route'; route: { path: string; name?: string | undefined; viewports: string[]; expects: unknown[]; }; browser: { baseUrl: string; maskSelectors: string[]; }; }; export type RouteVisualTarget = TargetBase & { family: 'route-visual'; route: { path: string; }; visual: { viewport: string; baseline: string; baselineRoot?: string | undefined; threshold?: unknown; }; }; export type ComponentVisualTarget = TargetBase & { family: 'component-visual'; component: { source: 'storybook' | 'portal'; storyId?: string | undefined; path?: string | undefined; statePolicy: 'story-controlled' | 'portal-controlled' | 'browser-forced-with-stabilization'; stateNote?: string | undefined; browserState?: unknown; }; visual: { viewport: string; viewportSize?: { width: number; height: number; } | undefined; framing?: unknown; baseline: string; baselineRoot?: string | undefined; threshold?: unknown; }; }; export type DesignCommandTarget = TargetBase & { family: 'design-command'; command: { command: string; cwd?: string | undefined; }; }; export declare function compileReflectionTargets(config: ReflectionConfig): TargetIR; export {};