import type { SourceMapV3 } from './source-maps';
// Export singleton instance
export declare const compiler: TemplateCompiler;
/**
 * Compilation options
 */
export declare interface CompileOptions {
  filename?: string
  mode?: CompileMode
  optimize?: boolean
  sourceMaps?: boolean
  module?: 'esm' | 'cjs' | 'iife'
  functionName?: string
  includeRuntime?: boolean
  dev?: boolean
  inlineDirectives?: string[]
}
/**
 * Compilation result
 */
export declare interface CompileResult {
  code: string
  map?: SourceMapV3
  analysis: {
    usedVariables: Set<string>
    usedDirectives: Set<string>
    usedComponents: Set<string>
    isDynamic: boolean
    hasSlots: boolean
  }
}
/**
 * Compilation mode
 */
export type CompileMode = 'ssr' | 'client' | 'universal';
/**
 * Template pre-compiler
 */
export declare class TemplateCompiler {
  constructor();
  compile(template: string, options?: CompileOptions): CompileResult;
  compileFile(filePath: string, options?: CompileOptions): Promise<CompileResult>;
}
