/**
 * Analyze an stx template file
 */
export declare function analyzeTemplate(filePath: string): Promise<AnalysisResult>;
/**
 * Analyze multiple templates
 */
// eslint-disable-next-line pickier/no-unused-vars
export declare function analyzeProject(patterns?: string[], cwd?: string): Promise<{
  results: AnalysisResult[]
  summary: ProjectSummary
}>;
/**
 * stx Template Analyzer - Analyze templates for performance, best practices, and potential issues
 */
export declare interface AnalysisResult {
  file: string
  metrics: TemplateMetrics
  issues: Issue[]
  suggestions: Suggestion[]
  performance: PerformanceMetrics
}
export declare interface TemplateMetrics {
  lines: number
  characters: number
  directives: DirectiveCount
  expressions: number
  components: number
  layouts: number
  scriptLines: number
  complexity: number
}
export declare interface DirectiveCount {
  conditionals: number
  loops: number
  includes: number
  custom: number
  total: number
}
export declare interface Issue {
  type: 'error' | 'warning' | 'info'
  category: 'performance' | 'security' | 'maintainability' | 'accessibility' | 'syntax'
  message: string
  line?: number
  column?: number
  suggestion?: string
}
export declare interface Suggestion {
  type: 'optimization' | 'best-practice' | 'refactor'
  message: string
  impact: 'low' | 'medium' | 'high'
  effort: 'low' | 'medium' | 'high'
}
export declare interface PerformanceMetrics {
  estimatedRenderTime: number
  complexityScore: number
  cacheability: 'high' | 'medium' | 'low'
  recommendations: string[]
}
export declare interface ProjectSummary {
  totalFiles: number
  totalLines: number
  avgComplexity: number
  totalIssues: number
  issuesByCategory: Record<string, number>
  performanceScore: number
  recommendations: string[]
}
