import type { Options } from '@swc/core'; import type { Linter } from 'eslint'; export interface VitestConfig { [key: string]: unknown; } export interface WebpackConfig { [key: string]: unknown; entry?: string | string[]; output?: Record; module?: Record; plugins?: unknown[]; staticPath?: string; } export interface AIConfig { provider?: 'cursor' | 'copilot' | 'openai' | 'anthropic' | 'none'; apiKey?: string; model?: string; maxTokens?: number; temperature?: number; } export interface DevConfig { port?: number; } export interface ESLintConfig { [key: string]: unknown; extends?: string[]; rules?: Linter.RulesRecord; } export interface LexConfigType { ai?: AIConfig; configFiles?: string[]; copyFiles?: string[]; dev?: DevConfig; entryHTML?: string; entryJs?: string; env?: object | null; eslint?: ESLintConfig; gitUrl?: string; vitest?: VitestConfig; libraryName?: string; libraryTarget?: string; outputFile?: string; outputFullPath?: string; outputHash?: boolean; outputPath?: string; packageManager?: 'npm' | 'yarn'; preset?: 'web' | 'node' | 'lambda' | 'mobile'; reactCompiler?: ReactCompilerConfig; sourceFullPath?: string; sourcePath?: string; swc?: SWCOptions; targetEnvironment?: 'node' | 'web'; useGraphQl?: boolean; useTypescript?: boolean; webpack?: WebpackConfig; } export type Config = LexConfigType; export type ReactCompilerConfig = boolean | Record; export declare const reactCompilerPluginName = "@swc/react-compiler"; export declare const defaultReactCompilerOptions: Record; export declare const defaultConfigValues: LexConfigType; export declare const getPackageDir: () => string; export declare const getTypeScriptConfigPath: (configName: string) => string; export declare class LexConfig { static config: LexConfigType; static set useTypescript(value: boolean); static getLexDir(): string; static getSWCConfigWithReactCompiler(swcConfig?: SWCOptions | undefined, reactCompiler?: ReactCompilerConfig | undefined): SWCOptions | undefined; static updateConfig(updatedConfig: LexConfigType): LexConfigType; static addConfigParams(cmd: Record, params: LexConfigType): void; static parseConfig(cmd: Record, isRoot?: boolean): Promise; static checkTypescriptConfig(): void; static getTypeScriptDeclarationFlags(): string[]; static checkLintTypescriptConfig(): void; static checkTestTypescriptConfig(): void; } export type SWCOptions = Options;