export type EsmaVersion = | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022";
export type TransformOptions = { alephPkgUri?: string; lang?: "ts" | "tsx" | "js" | "jsx"; target?: EsmaVersion; importMap?: string; globalVersion?: string; graphVersions?: Record<string, string>; resolveRemoteModule?: boolean; stripDataExport?: boolean; isDev?: boolean; reactRefresh?: boolean; sourceMap?: boolean; jsx?: "automatic" | "classic" | "preserve"; jsxPragma?: string; jsxPragmaFrag?: string; jsxImportSource?: string; minify?: { compress: boolean };};
export type TransformResult = { readonly code: string; readonly map?: string; readonly deps?: DependencyDescriptor[];};
export type DependencyDescriptor = { readonly specifier: string; readonly importUrl: string; readonly loc?: { start: number; end: number; ctxt: number }; readonly dynamic?: boolean;};
export interface Targets { android?: number; chrome?: number; edge?: number; firefox?: number; ie?: number; ios_saf?: number; opera?: number; safari?: number; samsung?: number;}
export interface DependencyOptions { removeImports: boolean;}
export interface TransformCSSOptions { minify?: boolean; sourceMap?: boolean; targets?: Targets; drafts?: Drafts; cssModules?: boolean | CSSModulesConfig; analyzeDependencies?: DependencyOptions; pseudoClasses?: PseudoClasses; unusedSymbols?: string[];}
export interface Drafts { nesting?: boolean; customMedia?: boolean;}
export interface PseudoClasses { hover?: string; active?: string; focus?: string; focusVisible?: string; focusWithin?: string;}
export interface TransformCSSResult { readonly code: string; readonly map?: string; readonly exports?: CSSModuleExports; readonly dependencies?: Dependency[];}
export interface CSSModulesConfig { pattern?: string; dashedIdents?: boolean;}
export type CSSModuleExports = { readonly [name: string]: CSSModuleExport;};
export interface CSSModuleExport { readonly name: string; readonly isReferenced: boolean; readonly composes: CSSModuleReference[];}
export type CSSModuleReference = | LocalCSSModuleReference | GlobalCSSModuleReference | DependencyCSSModuleReference;
export interface LocalCSSModuleReference { readonly type: "local"; readonly name: string;}
export interface GlobalCSSModuleReference { readonly type: "global"; readonly name: string;}
export interface DependencyCSSModuleReference { readonly type: "dependency"; readonly name: string; readonly specifier: string;}
export type Dependency = ImportDependency | UrlDependency;
export interface ImportDependency { readonly type: "import"; readonly url: string; readonly media: string | null; readonly supports: string | null; readonly loc: SourceLocation;}
export interface UrlDependency { readonly type: "url"; readonly url: string; readonly loc: SourceLocation; readonly placeholder: string;}
export interface SourceLocation { readonly filePath: string; readonly start: Location; readonly end: Location;}
export interface Location { readonly line: number; readonly column: number;}