1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! Core data models for research papers and search operations.
//!
//! This module provides the primary data structures used throughout the library:
//!
//! - [`Paper`]: A unified representation of a research paper from any source
//! - [`PaperBuilder`]: Fluent builder for constructing Paper objects
//! - [`SearchQuery`]: Search parameters with builder-style API
//! - [`SearchResponse`]: Search results with metadata
//! - [`DownloadRequest`]/[`DownloadResult`]: Paper download operations
//! - [`ReadRequest`]/[`ReadResult`]: PDF text extraction operations
//! - [`CitationRequest`]: Citation and reference lookup
//! - [`SourceType`]: Enum of all supported research sources
//!
//! # Examples
//!
//! ```rust
//! use research_master::models::{Paper, PaperBuilder, SourceType, SearchQuery};
//!
//! // Create a paper using the builder
//! let paper = PaperBuilder::new(
//! "2301.12345",
//! "My Paper Title",
//! "https://example.com/paper",
//! SourceType::Arxiv
//! )
//! .authors("Jane Doe; John Smith")
//! .abstract_text("This is the abstract.")
//! .doi("10.1234/example.1234")
//! .build();
//!
//! // Create a search query
//! let query = SearchQuery::new("machine learning")
//! .max_results(20)
//! .year("2020-");
//! ```
pub use ;
pub use ;