export type { LitsxDeclarationAnalysis, LitsxExportAnalysis, LitsxImportAnalysis, LitsxJsxReferenceAnalysis, LitsxModuleAnalysis, } from "./authored-input.js"; export type TransformLitsxOptions = { filename?: string; ssr?: boolean; parserPlugins?: string[]; sourceMaps?: boolean; jsxTemplate?: boolean; jsxTemplateOptions?: object; authoringPlugins?: unknown[]; outputPlugins?: unknown[]; defaultDomMode?: "shadow" | "light"; lightDomStyles?: "scoped" | "global" | "none" | { strategy: "scoped" | "global" | "none"; }; requireJsx?: boolean; reactCompat?: boolean | { transformDependencies?: string[]; reactKeys?: boolean; domMode?: "shadow" | "light"; }; }; export type LitsxCompilationSession = { transform(source: string, options?: TransformLitsxOptions): Promise; transformSync(source: string, options?: TransformLitsxOptions): TransformLitsxResult; invalidate(files?: string[] | null): void; dispose(): void; }; export type TransformLitsxResult = { code: string; map: object | null; metadata: Record; }; export type PreparedLitsxAuthoredInput = { filename?: string; inputAst: object; authoredWarnings: unknown[]; moduleAnalysis: import("./authored-input.js").LitsxModuleAnalysis; }; export function ensureLitsxParserPlugins( filename?: string, parserPlugins?: string[], options?: { requireJsx?: boolean } ): string[]; export function prepareLitsxAuthoredInput( source: string, options?: TransformLitsxOptions, runtime?: { parse: (...args: unknown[]) => object; transformFromAstSync: (...args: unknown[]) => { ast?: object } | null | undefined; } ): PreparedLitsxAuthoredInput; export function transformLitsx( source: string, options?: TransformLitsxOptions ): Promise; export function transformLitsxSync( source: string, options?: TransformLitsxOptions ): TransformLitsxResult; export function createLitsxCompilationSession(options?: { projectPath?: string; transformOptions?: TransformLitsxOptions; }): LitsxCompilationSession;