import type { ExtendConfig, ExtendConfigFn } from '@rstest/core'; export interface LynxConfigOptions { /** * The root path of the project. * * @default `process.cwd()` */ rootPath?: string; /** * The path to the Lynx config file. * * @default `lynx.config.ts` in an Rspeedy project, `rsbuild.config.ts` in an * Rsbuild one */ configPath?: string; /** * The build tool the config file belongs to. * * Inferred from `configPath`, or from the config files present in * `rootPath`. Set it when a custom `configPath` carries no such hint. */ buildTool?: 'rsbuild' | 'rspeedy'; } export interface RstestConfigOptions { /** * Customize the generated rstest config. */ modifyRstestConfig?: (config: ExtendConfig) => ExtendConfig | Promise; } export interface LynxRstestConfigOptions extends LynxConfigOptions, RstestConfigOptions { } export declare function withDefaultConfig(options?: RstestConfigOptions): ExtendConfigFn; /** * A Lynx project builds either with Rspeedy, which reads `lynx.config.*`, or * with Rsbuild and `pluginLynx`, which reads `rsbuild.config.*`. Load whichever * one this project has. */ export declare function isRspeedyProject(options: LynxConfigOptions | undefined, exists?: (path: string) => boolean): boolean; export declare function withLynxConfig(options?: LynxRstestConfigOptions): ExtendConfigFn;