[
  {
    "id": "class:lhjxtl:ibookstorageservice",
    "kind": "class",
    "fileId": "file:9fivst:ibookstorageservice-cs",
    "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
    "canonicalName": "IBookStorageService",
    "shortLabel": "IBookStorageService",
    "longLabel": "IBookStorageService",
    "purpose": "Defines an application-level abstraction for saving ebook and cover files, returning relative paths/URLs; implementations handle actual storage persistence."
  },
  {
    "id": "method:1cxlt22:saveebookasync",
    "kind": "method",
    "fileId": "file:9fivst:ibookstorageservice-cs",
    "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
    "line": 11,
    "canonicalName": "SaveEbookAsync",
    "shortLabel": "SaveEbookAsync()",
    "longLabel": "SaveEbookAsync(data: byte[], fileName: string) -> Task<string>",
    "signature": "(data: byte[], fileName: string) -> Task<string>",
    "purpose": "Contract to save ebook binary data and return a relative path/URL."
  },
  {
    "id": "method:1bjnsl7:saveebookasync",
    "kind": "method",
    "fileId": "file:9fivst:ibookstorageservice-cs",
    "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
    "line": 16,
    "canonicalName": "SaveEbookAsync",
    "shortLabel": "SaveEbookAsync()",
    "longLabel": "SaveEbookAsync(data: Stream, fileName: string) -> Task<string>",
    "signature": "(data: Stream, fileName: string) -> Task<string>",
    "purpose": "Contract to save ebook data from a Stream and return a relative path/URL."
  },
  {
    "id": "method:1sosafx:savecoverasync",
    "kind": "method",
    "fileId": "file:9fivst:ibookstorageservice-cs",
    "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
    "line": 22,
    "canonicalName": "SaveCoverAsync",
    "shortLabel": "SaveCoverAsync()",
    "longLabel": "SaveCoverAsync(data: byte[], fileName: string) -> Task<string?>",
    "signature": "(data: byte[], fileName: string) -> Task<string?>",
    "purpose": "Contract to save cover image binary data and return a relative path/URL, or null if no cover provided."
  },
  {
    "id": "method:1pww9i7:savecoverasync",
    "kind": "method",
    "fileId": "file:9fivst:ibookstorageservice-cs",
    "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
    "line": 28,
    "canonicalName": "SaveCoverAsync",
    "shortLabel": "SaveCoverAsync()",
    "longLabel": "SaveCoverAsync(data: Stream, fileName: string) -> Task<string?>",
    "signature": "(data: Stream, fileName: string) -> Task<string?>",
    "purpose": "Contract to save cover image from a Stream and return a relative path/URL, or null if no cover provided."
  },
  {
    "id": "type:gqvtnh:ibookstorageservice",
    "kind": "type",
    "fileId": "file:9fivst:ibookstorageservice-cs",
    "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
    "line": 6,
    "canonicalName": "IBookStorageService",
    "shortLabel": "IBookStorageService",
    "longLabel": "IBookStorageService (interface)",
    "purpose": "Interface describing methods to persist ebooks and cover images and return their relative paths/URLs."
  }
]