import { z } from 'zod'; export declare const runModes: readonly ["smoke", "design", "visual", "print", "full"]; export type RunMode = (typeof runModes)[number]; declare const ReflectionConfigSchema: z.ZodObject<{ project: z.ZodString; run: z.ZodDefault>; ciMode: z.ZodDefault>; }, z.core.$strip>>; contracts: z.ZodObject<{ browser: z.ZodOptional; blocking: z.ZodDefault; baseUrl: z.ZodString; server: z.ZodOptional; timeoutMs: z.ZodDefault; }, z.core.$strip>>; routes: z.ZodDefault; path: z.ZodString; viewports: z.ZodDefault>; expects: z.ZodDefault, z.ZodObject<{ urlEquals: z.ZodString; }, z.core.$strip>, z.ZodObject<{ role: z.ZodString; name: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ label: z.ZodString; }, z.core.$strip>, z.ZodObject<{ text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ noText: z.ZodString; }, z.core.$strip>, z.ZodObject<{ selector: z.ZodString; }, z.core.$strip>, z.ZodObject<{ elementVisible: z.ZodString; }, z.core.$strip>, z.ZodObject<{ elementNotVisible: z.ZodString; }, z.core.$strip>, z.ZodObject<{ selectorCount: z.ZodObject<{ selector: z.ZodString; equals: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ noSelector: z.ZodString; }, z.core.$strip>, z.ZodObject<{ noHorizontalOverflow: z.ZodLiteral; }, z.core.$strip>, z.ZodObject<{ noConsoleErrors: z.ZodLiteral; }, z.core.$strip>, z.ZodObject<{ screenshot: z.ZodString; }, z.core.$strip>]>>>; setup: z.ZodOptional>>; sessionStorage: z.ZodDefault>>; }, z.core.$strip>>>; }, z.core.$strip>>>; maskSelectors: z.ZodDefault>; visualSmoke: z.ZodDefault>; baseline: z.ZodString; baselineRoot: z.ZodOptional; threshold: z.ZodOptional; maxDiffPixelRatio: z.ZodOptional; }, z.core.$strip>>; blocking: z.ZodOptional; strict: z.ZodOptional; scenario: z.ZodOptional; }, z.core.$strip>>>; setup: z.ZodOptional>>; sessionStorage: z.ZodDefault>>; }, z.core.$strip>>>; }, z.core.$strip>>; design: z.ZodOptional; commands: z.ZodDefault; blocking: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>; component: z.ZodOptional; storybook: z.ZodOptional; timeoutMs: z.ZodDefault; }, z.core.$strip>>; portal: z.ZodOptional; timeoutMs: z.ZodDefault; viteConfig: z.ZodOptional; }, z.core.$strip>>; cases: z.ZodDefault; path: z.ZodOptional; viewport: z.ZodDefault; viewportSize: z.ZodOptional>; framing: z.ZodOptional; background: z.ZodOptional; align: z.ZodDefault>; padding: z.ZodDefault; }, z.core.$strip>>; baseline: z.ZodString; baselineRoot: z.ZodOptional; threshold: z.ZodOptional; maxDiffPixelRatio: z.ZodOptional; }, z.core.$strip>>; blocking: z.ZodOptional; strict: z.ZodOptional; stateNote: z.ZodOptional; browserState: z.ZodOptional; selector: z.ZodString; animationStabilization: z.ZodObject<{ disableAnimations: z.ZodOptional; waitMs: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>>; probes: z.ZodOptional; styles: z.ZodDefault>; cssVariables: z.ZodDefault>; text: z.ZodDefault; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>>>; }, z.core.$strip>>; print: z.ZodOptional; cases: z.ZodDefault; pdf: z.ZodObject<{ format: z.ZodDefault; printBackground: z.ZodDefault; expectedPageCount: z.ZodOptional; expectedPageSize: z.ZodOptional>; poppler: z.ZodDefault>; dpi: z.ZodDefault; }, z.core.$strip>>; renderedPages: z.ZodDefault; threshold: z.ZodOptional; maxDiffPixelRatio: z.ZodOptional; }, z.core.$strip>>; blocking: z.ZodOptional; strict: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; scenario: z.ZodOptional; blocking: z.ZodDefault; }, z.core.$strip>>>; }, z.core.$strip>>; visual: z.ZodOptional; }, z.core.$strip>; lifecycle: z.ZodDefault; timeoutMs: z.ZodDefault; blocking: z.ZodDefault; scenario: z.ZodOptional; artifacts: z.ZodDefault; role: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>; export type ReflectionConfigInput = z.input; export type ReflectionConfig = z.output; export declare function isRunMode(value: string): value is RunMode; export declare function validateReflectionConfig(input: unknown): ReflectionConfig; export declare function loadReflectionConfig(configPath: string): Promise; export {};