// Main exports
export {
  analyzeSql,
  analyzeSimple,
  completionItems,
  exportCsvArchive,
  exportFilename,
  exportHtml,
  exportJson,
  exportMermaid,
  exportToDuckDbSql,
  exportXlsx,
  formatSchemaError,
  splitStatements,
  validateSchemaName,
} from './analyzer';
export { initWasm, isWasmInitialized, resetWasm, getEngineVersion } from './wasm-loader';
export type { InitWasmOptions } from './wasm-loader';

// Type exports
export type {
  // Request types
  AnalyzeRequest,
  AnalysisOptions,
  CompletionClause,
  CompletionColumn,
  CompletionContext,
  CompletionItem,
  CompletionItemCategory,
  CompletionItemKind,
  CompletionItemsResult,
  CompletionKeywordHints,
  CompletionKeywordSet,
  CompletionRequest,
  CompletionTable,
  CompletionToken,
  CompletionTokenKind,
  Dialect,
  Encoding,
  ExportFormat,
  LintConfig,
  MermaidView,
  StatementSplitRequest,
  StatementSplitResult,
  SchemaMetadata,
  SchemaNamespaceHint,
  SchemaTable,
  ColumnSchema,
  ForeignKeyRef,
  FileSource,
  TemplateMode,
  TemplateConfig,
  // Response types
  AnalyzeResult,
  StatementMeta,
  Node,
  NodeType,
  TableLikeNodeType,
  Edge,
  EdgeType,
  JoinType,
  FilterPredicate,
  FilterClauseType,
  AggregationInfo,
  CanonicalName,
  Issue,
  IssueAutofix,
  IssueAutofixApplicability,
  IssuePatchEdit,
  LintEngine,
  LintConfidence,
  LintFallbackSource,
  Severity,
  Span,
  Summary,
  IssueCount,
  ResolvedSchemaMetadata,
  ResolvedSchemaTable,
  ResolvedColumnSchema,
  SchemaOrigin,
  ResolutionSource,
} from './types';

// Constants and utilities
export {
  IssueCodes,
  isTableLikeType,
  charOffsetToByteOffset,
  byteOffsetToCharOffset,
  applyEdits,
  nodesInStatement,
  edgesInStatement,
} from './types';
