pub mod contracts;
#[cfg(feature = "symgraph-parser")]
pub mod editor;
#[cfg(feature = "symgraph-parser")]
pub mod emitter;
#[cfg(feature = "symgraph-parser")]
pub mod graph;
#[cfg(feature = "symgraph-parser")]
pub mod parser;
#[cfg(feature = "symgraph-parser")]
pub mod registry;
#[cfg(feature = "symgraph-parser")]
pub mod symbol;
#[cfg(feature = "symgraph-parser")]
pub mod strategy;
#[cfg(feature = "symgraph-parser")]
pub mod locality;
#[cfg(feature = "symgraph-parser")]
pub mod test_colocation;
#[cfg(feature = "symgraph-server")]
pub mod server;
pub use contracts::{EntityType, RawEntity, fact_hash_str};
#[cfg(feature = "symgraph-parser")]
pub use registry::{SymbolEntry, SymbolId, SymbolRegistry};
#[cfg(feature = "symgraph-parser")]
pub use editor::{
Patch, add_import, apply_patch, emit_diff, insert_after_symbol, replace_symbol, validate_syntax,
};
#[cfg(feature = "symgraph-parser")]
pub use emitter::{LayoutRules, apply_emit, assign_file, emit};
#[cfg(feature = "symgraph-parser")]
pub use graph::{Edge, EdgeKind, SymbolEdge, SymbolGraph, SymbolNode};
#[cfg(feature = "symgraph-parser")]
pub use parser::{Language, file_to_module_path, parse_directory, parse_file};
#[cfg(feature = "symgraph-parser")]
pub use symbol::{Symbol, SymbolKind, detect_language, extract_symbols, get_symbol, list_symbols};
#[cfg(feature = "symgraph-parser")]
pub use locality::LocalityStrategy;
#[cfg(feature = "symgraph-parser")]
pub use strategy::{EmitStrategy, ModulePathStrategy};
#[cfg(feature = "symgraph-parser")]
pub use test_colocation::TestColocationStrategy;