// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.30.0

package database

import (
	"context"

	"github.com/jackc/pgx/v5/pgtype"
)

type Querier interface {
	// COLLECTION ITEMS QUERIES
	// Add book to collection
	AddBookToCollection(ctx context.Context, arg AddBookToCollectionParams) (CollectionItems, error)
	// ============================================
	// KOBO SHELF MANAGEMENT QUERIES
	// ============================================
	AddBookToKoboShelf(ctx context.Context, arg AddBookToKoboShelfParams) (KoboShelves, error)
	// Library Folders queries
	AddLibraryFolder(ctx context.Context, arg AddLibraryFolderParams) (LibraryFolders, error)
	// Bulk update format group for all media items
	BulkUpdateFormatGroups(ctx context.Context) error
	BulkUpdateProgressFromSync(ctx context.Context, arg BulkUpdateProgressFromSyncParams) ([]interface{}, error)
	CheckForProgressConflicts(ctx context.Context, arg CheckForProgressConflictsParams) (int64, error)
	// Cleanup expired OPDS tokens
	CleanupExpiredOpdsTokens(ctx context.Context) error
	CleanupExpiredRefreshTokens(ctx context.Context, dollar_1 float64) error
	ClearDeviceSyncQueue(ctx context.Context, deviceID pgtype.UUID) error
	ClearKoboShelf(ctx context.Context, deviceID pgtype.UUID) error
	ClearKoboShelfByName(ctx context.Context, arg ClearKoboShelfByNameParams) error
	CountAdmins(ctx context.Context) (int64, error)
	// Count unlinked books for a device
	CountUnlinkedBooks(ctx context.Context, deviceID pgtype.UUID) (int64, error)
	CountUserDevices(ctx context.Context, userID pgtype.UUID) (int64, error)
	CreateAutoResolvedSyncConflict(ctx context.Context, arg CreateAutoResolvedSyncConflictParams) (SyncConflicts, error)
	// COLLECTIONS QUERIES
	// Create collection
	CreateCollection(ctx context.Context, arg CreateCollectionParams) (Collections, error)
	// ============================================
	// DEVICE MANAGEMENT & AUTH
	// ============================================
	// Device Registration & Management
	CreateDevice(ctx context.Context, arg CreateDeviceParams) (Devices, error)
	// DEVICE CATALOGS QUERIES
	// Create device catalog entry
	CreateDeviceCatalog(ctx context.Context, arg CreateDeviceCatalogParams) (DeviceCatalogs, error)
	// DEVICE FILE ALIASES QUERIES
	// Create device file alias
	CreateDeviceFileAlias(ctx context.Context, arg CreateDeviceFileAliasParams) (DeviceFileAliases, error)
	// DEVICE SHELF MAPPINGS QUERIES
	// Create device shelf mapping
	CreateDeviceShelfMapping(ctx context.Context, arg CreateDeviceShelfMappingParams) (DeviceShelfMappings, error)
	CreateDictionaryEntry(ctx context.Context, arg CreateDictionaryEntryParams) (DictionaryCache, error)
	// HASH CONFLICTS QUERIES
	// Record a pending hash conflict (no-op if the group is already tracked, so
	// resolved groups stay resolved and are never re-flagged)
	CreateHashConflict(ctx context.Context, arg CreateHashConflictParams) error
	// Libraries queries
	CreateLibrary(ctx context.Context, arg CreateLibraryParams) (Libraries, error)
	CreateMediaBookmark(ctx context.Context, arg CreateMediaBookmarkParams) (MediaBookmarks, error)
	CreateMediaBookmarkFull(ctx context.Context, arg CreateMediaBookmarkFullParams) (MediaBookmarks, error)
	// Media Highlights queries
	CreateMediaHighlight(ctx context.Context, arg CreateMediaHighlightParams) (MediaHighlights, error)
	CreateMediaHighlightFull(ctx context.Context, arg CreateMediaHighlightFullParams) (MediaHighlights, error)
	// Media Items queries
	CreateMediaItem(ctx context.Context, arg CreateMediaItemParams) (MediaItems, error)
	// MEDIA ITEM FORMATS QUERIES
	// Create media item format
	CreateMediaItemFormat(ctx context.Context, arg CreateMediaItemFormatParams) (MediaItemFormats, error)
	// Media Notes queries
	CreateMediaNote(ctx context.Context, arg CreateMediaNoteParams) (MediaNotes, error)
	CreateMediaNoteFull(ctx context.Context, arg CreateMediaNoteFullParams) (MediaNotes, error)
	CreateMediaRating(ctx context.Context, arg CreateMediaRatingParams) (MediaRatings, error)
	// OPDS TOKENS QUERIES
	// Create OPDS token
	CreateOpdsToken(ctx context.Context, arg CreateOpdsTokenParams) (OpdsTokens, error)
	// ============================================
	// KOBO ENTITLEMENT QUERIES
	// ============================================
	CreateOrUpdateKoboEntitlement(ctx context.Context, arg CreateOrUpdateKoboEntitlementParams) (KoboEntitlements, error)
	// ============================================================================
	// PROCESSING ISSUES QUERIES
	// ============================================================================
	CreateProcessingIssue(ctx context.Context, arg CreateProcessingIssueParams) (ProcessingIssues, error)
	// Create reading history entry
	CreateReadingHistory(ctx context.Context, arg CreateReadingHistoryParams) (ReadingHistory, error)
	CreateReadingSpeed(ctx context.Context, arg CreateReadingSpeedParams) (ReadingSpeed, error)
	// Refresh Tokens queries
	CreateRefreshToken(ctx context.Context, arg CreateRefreshTokenParams) (RefreshTokens, error)
	CreateSavedFilter(ctx context.Context, arg CreateSavedFilterParams) (SavedFilters, error)
	// Conflict Resolution
	CreateSyncConflict(ctx context.Context, arg CreateSyncConflictParams) (SyncConflicts, error)
	CreateSyncHistoryEntry(ctx context.Context, arg CreateSyncHistoryEntryParams) (SyncQueue, error)
	// Sync Queue Management
	CreateSyncQueueItem(ctx context.Context, arg CreateSyncQueueItemParams) (SyncQueue, error)
	CreateSystemCollection(ctx context.Context, arg CreateSystemCollectionParams) (Collections, error)
	// ============================================
	// ENHANCED KOBO SYNC
	// ============================================
	// Create unlinked book entry
	CreateUnlinkedBook(ctx context.Context, arg CreateUnlinkedBookParams) (UnlinkedBooks, error)
	CreateUser(ctx context.Context, arg CreateUserParams) (CreateUserRow, error)
	// Delete collection
	DeleteCollection(ctx context.Context, id pgtype.UUID) error
	DeleteDevice(ctx context.Context, id pgtype.UUID) error
	DeleteDeviceByToken(ctx context.Context, authToken string) error
	// Delete device catalog entry
	DeleteDeviceCatalog(ctx context.Context, id pgtype.UUID) error
	// Delete device file alias
	DeleteDeviceFileAlias(ctx context.Context, id pgtype.UUID) error
	// Delete device shelf mapping
	DeleteDeviceShelfMapping(ctx context.Context, id pgtype.UUID) error
	DeleteKoboEntitlement(ctx context.Context, arg DeleteKoboEntitlementParams) error
	DeleteLibrary(ctx context.Context, id pgtype.UUID) error
	DeleteLibraryFolder(ctx context.Context, arg DeleteLibraryFolderParams) (LibraryFolders, error)
	DeleteMediaBookmark(ctx context.Context, id pgtype.UUID) error
	DeleteMediaHighlight(ctx context.Context, id pgtype.UUID) error
	DeleteMediaItem(ctx context.Context, id pgtype.UUID) error
	// Delete media item format
	DeleteMediaItemFormat(ctx context.Context, id pgtype.UUID) error
	DeleteMediaNote(ctx context.Context, id pgtype.UUID) error
	DeleteMediaRating(ctx context.Context, arg DeleteMediaRatingParams) error
	DeleteProcessingIssue(ctx context.Context, id pgtype.UUID) (ProcessingIssues, error)
	DeleteReadingProgress(ctx context.Context, arg DeleteReadingProgressParams) error
	DeleteSavedFilter(ctx context.Context, arg DeleteSavedFilterParams) (SavedFilters, error)
	DeleteSyncConflict(ctx context.Context, id pgtype.UUID) error
	DeleteSyncQueueItem(ctx context.Context, id pgtype.UUID) error
	// Delete system config
	DeleteSystemConfig(ctx context.Context, key string) error
	// Delete unlinked book
	DeleteUnlinkedBook(ctx context.Context, id pgtype.UUID) error
	DeleteUser(ctx context.Context, id pgtype.UUID) error
	DeleteUserSystemCollection(ctx context.Context, arg DeleteUserSystemCollectionParams) error
	// Find content-duplicate groups (same library + SHA-256, more than one row)
	FindHashConflictGroups(ctx context.Context) ([]FindHashConflictGroupsRow, error)
	GenerateKoboEntitlementId(ctx context.Context) (interface{}, error)
	// ============================================
	// ANNOTATION SERVE QUERIES
	// ============================================
	GetActiveAnnotationsForBook(ctx context.Context, arg GetActiveAnnotationsForBookParams) ([]GetActiveAnnotationsForBookRow, error)
	// Get all system config
	GetAllSystemConfig(ctx context.Context) ([]SystemConfig, error)
	GetAllSystemSettings(ctx context.Context) ([]GetAllSystemSettingsRow, error)
	GetAllSystemSettingsFull(ctx context.Context) ([]SystemSettings, error)
	GetAnnotationsForBook(ctx context.Context, arg GetAnnotationsForBookParams) ([]GetAnnotationsForBookRow, error)
	GetBooksByTag(ctx context.Context, arg GetBooksByTagParams) ([]MediaItems, error)
	// Get collection
	GetCollection(ctx context.Context, id pgtype.UUID) (Collections, error)
	// Get collection items
	GetCollectionItems(ctx context.Context, collectionID pgtype.UUID) ([]GetCollectionItemsRow, error)
	GetCollectionItemsForDashboard(ctx context.Context, arg GetCollectionItemsForDashboardParams) ([]GetCollectionItemsForDashboardRow, error)
	// Get collection with book count
	GetCollectionWithBookCount(ctx context.Context, id pgtype.UUID) (GetCollectionWithBookCountRow, error)
	// Get collections by user
	GetCollectionsByUser(ctx context.Context, userID pgtype.UUID) ([]Collections, error)
	// Get collections for book
	GetCollectionsForBook(ctx context.Context, mediaItemID pgtype.UUID) ([]Collections, error)
	// Smart section queries (for system collections)
	GetContinueReadingItems(ctx context.Context, arg GetContinueReadingItemsParams) ([]MediaItems, error)
	GetContinueSeriesItems(ctx context.Context, arg GetContinueSeriesItemsParams) ([]GetContinueSeriesItemsRow, error)
	// ============================================
	// CAROUSEL-STYLE DASHBOARD
	// ============================================
	// Dashboard preferences queries
	GetDashboardPreferences(ctx context.Context, arg GetDashboardPreferencesParams) (UserDashboardPreferences, error)
	GetDevice(ctx context.Context, id pgtype.UUID) (Devices, error)
	GetDeviceByAuthToken(ctx context.Context, authToken string) (Devices, error)
	GetDeviceByIdentifier(ctx context.Context, deviceIdentifier string) (Devices, error)
	// Get device catalog by Bookhoard UUID
	GetDeviceCatalogByBookhoardUUID(ctx context.Context, arg GetDeviceCatalogByBookhoardUUIDParams) (DeviceCatalogs, error)
	// Get device catalog by Kobo ContentId
	GetDeviceCatalogByKoboContentId(ctx context.Context, koboContentID string) (DeviceCatalogs, error)
	// Get device catalog entries
	GetDeviceCatalogEntries(ctx context.Context, deviceID pgtype.UUID) ([]GetDeviceCatalogEntriesRow, error)
	// Get device file alias
	GetDeviceFileAlias(ctx context.Context, arg GetDeviceFileAliasParams) (DeviceFileAliases, error)
	// Get device file alias by SHA-256
	GetDeviceFileAliasBySHA256(ctx context.Context, fileSha256 pgtype.Text) (GetDeviceFileAliasBySHA256Row, error)
	// Get device file aliases by device
	GetDeviceFileAliasesByDevice(ctx context.Context, deviceID pgtype.UUID) ([]GetDeviceFileAliasesByDeviceRow, error)
	// Get device shelf mapping
	GetDeviceShelfMapping(ctx context.Context, arg GetDeviceShelfMappingParams) (DeviceShelfMappings, error)
	// Get device shelf mappings
	GetDeviceShelfMappings(ctx context.Context, deviceID pgtype.UUID) ([]GetDeviceShelfMappingsRow, error)
	GetDictionaryEntry(ctx context.Context, word string) (DictionaryCache, error)
	GetDistinctSeries(ctx context.Context, arg GetDistinctSeriesParams) ([]GetDistinctSeriesRow, error)
	GetDistinctSeriesCount(ctx context.Context, libraryID pgtype.UUID) (int32, error)
	GetFailedSyncQueueItems(ctx context.Context, limit int32) ([]SyncQueue, error)
	GetFirstAdmin(ctx context.Context) (pgtype.UUID, error)
	GetFirstAdminExclude(ctx context.Context, id pgtype.UUID) (GetFirstAdminExcludeRow, error)
	GetHashConflict(ctx context.Context, id pgtype.UUID) (HashConflicts, error)
	GetKoboEntitlementByContentId(ctx context.Context, arg GetKoboEntitlementByContentIdParams) (GetKoboEntitlementByContentIdRow, error)
	GetKoboEntitlementByEntitlementId(ctx context.Context, arg GetKoboEntitlementByEntitlementIdParams) (GetKoboEntitlementByEntitlementIdRow, error)
	GetKoboEntitlementsForDevice(ctx context.Context, deviceID pgtype.UUID) ([]GetKoboEntitlementsForDeviceRow, error)
	GetKoboShelfBookCount(ctx context.Context, deviceID pgtype.UUID) (int64, error)
	GetKoboShelfBooks(ctx context.Context, deviceID pgtype.UUID) ([]GetKoboShelfBooksRow, error)
	GetKoboShelfBooksByShelfName(ctx context.Context, arg GetKoboShelfBooksByShelfNameParams) ([]GetKoboShelfBooksByShelfNameRow, error)
	// Get Kobo shelves by collection
	GetKoboShelvesByCollection(ctx context.Context, arg GetKoboShelvesByCollectionParams) ([]GetKoboShelvesByCollectionRow, error)
	GetLibrary(ctx context.Context, id pgtype.UUID) (GetLibraryRow, error)
	GetLibraryByFolder(ctx context.Context, folderPath string) (GetLibraryByFolderRow, error)
	GetLibraryByFolderPathPrefix(ctx context.Context, folderPath string) (GetLibraryByFolderPathPrefixRow, error)
	GetLibraryFolders(ctx context.Context, libraryID pgtype.UUID) ([]LibraryFolders, error)
	GetLibraryItems(ctx context.Context, libraryID pgtype.UUID) ([]MediaItems, error)
	GetLibraryType(ctx context.Context, id pgtype.UUID) (LibraryTypes, error)
	GetLibraryTypeByName(ctx context.Context, name string) (LibraryTypes, error)
	// Library Types queries
	GetLibraryTypes(ctx context.Context) ([]LibraryTypes, error)
	GetLibraryVisibility(ctx context.Context, arg GetLibraryVisibilityParams) (LibraryVisibility, error)
	// ============================================================================
	// LIBRARY WITH TYPE INFO QUERIES
	// ============================================================================
	GetLibraryWithType(ctx context.Context, id pgtype.UUID) (GetLibraryWithTypeRow, error)
	GetMediaBookmark(ctx context.Context, id pgtype.UUID) (MediaBookmarks, error)
	// ============================================
	// ANNOTATION SYNC QUERIES (bookmarks)
	// ============================================
	GetMediaBookmarkByDedupKey(ctx context.Context, arg GetMediaBookmarkByDedupKeyParams) (MediaBookmarks, error)
	GetMediaBookmarks(ctx context.Context, arg GetMediaBookmarksParams) ([]MediaBookmarks, error)
	GetMediaHighlight(ctx context.Context, id pgtype.UUID) (MediaHighlights, error)
	// ============================================
	// ANNOTATION SYNC QUERIES (highlights)
	// ============================================
	GetMediaHighlightByDedupKey(ctx context.Context, arg GetMediaHighlightByDedupKeyParams) (MediaHighlights, error)
	GetMediaHighlights(ctx context.Context, arg GetMediaHighlightsParams) ([]MediaHighlights, error)
	GetMediaItem(ctx context.Context, id pgtype.UUID) (MediaItems, error)
	GetMediaItemByFilePath(ctx context.Context, arg GetMediaItemByFilePathParams) (MediaItems, error)
	GetMediaItemByFilePathAnyLibrary(ctx context.Context, filePath string) (MediaItems, error)
	// ============================================
	// KOREADER SYNC PROTOCOL
	// ============================================
	GetMediaItemByFilePathForSync(ctx context.Context, filePath string) (MediaItems, error)
	GetMediaItemByKoboContentId(ctx context.Context, koboContentID pgtype.Text) (MediaItems, error)
	// Get media item by OPF identifier
	GetMediaItemByOPFIdentifier(ctx context.Context, opfIdentifier pgtype.Text) (MediaItems, error)
	// Get media item by OPF UUID
	GetMediaItemByOPFUUID(ctx context.Context, opfUuid pgtype.Text) (MediaItems, error)
	// Get media item by SHA-256 hash
	GetMediaItemBySHA256(ctx context.Context, fileSha256 pgtype.Text) (MediaItems, error)
	// Get media item by SHA-256 hash within a specific library (content dedup)
	GetMediaItemBySHA256AndLibrary(ctx context.Context, arg GetMediaItemBySHA256AndLibraryParams) (MediaItems, error)
	// Get media item format by SHA-256
	GetMediaItemFormatBySHA256(ctx context.Context, fileSha256 pgtype.Text) (MediaItemFormats, error)
	// Get media item format by type
	GetMediaItemFormatByType(ctx context.Context, arg GetMediaItemFormatByTypeParams) (MediaItemFormats, error)
	// Get media item formats
	GetMediaItemFormats(ctx context.Context, mediaItemID pgtype.UUID) ([]MediaItemFormats, error)
	// Per-item user-data counts, used when choosing which duplicate copy to keep
	GetMediaItemUsageCounts(ctx context.Context, mediaItemID pgtype.UUID) (GetMediaItemUsageCountsRow, error)
	GetMediaNote(ctx context.Context, id pgtype.UUID) (MediaNotes, error)
	// ============================================
	// ANNOTATION SYNC QUERIES (notes)
	// ============================================
	GetMediaNoteByDedupKey(ctx context.Context, arg GetMediaNoteByDedupKeyParams) (MediaNotes, error)
	GetMediaNotes(ctx context.Context, arg GetMediaNotesParams) ([]MediaNotes, error)
	GetMediaRating(ctx context.Context, arg GetMediaRatingParams) (MediaRatings, error)
	GetMediaRatings(ctx context.Context, mediaItemID pgtype.UUID) ([]GetMediaRatingsRow, error)
	GetNextRetryTime(ctx context.Context) (interface{}, error)
	GetNotStartedItems(ctx context.Context, arg GetNotStartedItemsParams) ([]MediaItems, error)
	// Get OPDS token
	GetOpdsToken(ctx context.Context, token string) (GetOpdsTokenRow, error)
	// Get OPDS tokens by device
	GetOpdsTokensByDevice(ctx context.Context, deviceID pgtype.UUID) ([]OpdsTokens, error)
	GetPanelData(ctx context.Context, arg GetPanelDataParams) (PanelData, error)
	// Get most popular books for a user
	GetPopularBooks(ctx context.Context, arg GetPopularBooksParams) ([]GetPopularBooksRow, error)
	GetProcessingIssueStats(ctx context.Context, libraryID pgtype.UUID) (GetProcessingIssueStatsRow, error)
	GetReaderSettings(ctx context.Context, userID pgtype.UUID) ([]byte, error)
	// Get reading history for a user and book
	GetReadingHistory(ctx context.Context, arg GetReadingHistoryParams) ([]ReadingHistory, error)
	GetReadingProgress(ctx context.Context, arg GetReadingProgressParams) (ReadingProgress, error)
	GetReadingSpeed(ctx context.Context, arg GetReadingSpeedParams) (ReadingSpeed, error)
	GetRecentlyAddedItems(ctx context.Context, arg GetRecentlyAddedItemsParams) ([]MediaItems, error)
	GetRecentlyReadItems(ctx context.Context, arg GetRecentlyReadItemsParams) ([]MediaItems, error)
	GetRefreshToken(ctx context.Context, token pgtype.UUID) (GetRefreshTokenRow, error)
	GetSavedFilterByID(ctx context.Context, arg GetSavedFilterByIDParams) (SavedFilters, error)
	GetSavedFilters(ctx context.Context, arg GetSavedFiltersParams) ([]SavedFilters, error)
	GetSeriesBooks(ctx context.Context, series pgtype.Text) ([]MediaItems, error)
	GetSeriesCovers(ctx context.Context, arg GetSeriesCoversParams) ([]GetSeriesCoversRow, error)
	GetStuckSyncQueueItems(ctx context.Context) ([]SyncQueue, error)
	GetSyncConflict(ctx context.Context, id pgtype.UUID) (SyncConflicts, error)
	GetSyncQueueItem(ctx context.Context, id pgtype.UUID) (SyncQueue, error)
	GetSyncQueueStats(ctx context.Context, deviceID pgtype.UUID) (GetSyncQueueStatsRow, error)
	// Dashboard collections queries
	GetSystemCollectionsForDashboard(ctx context.Context, userID pgtype.UUID) ([]Collections, error)
	// SYSTEM CONFIG QUERIES
	// Get system config
	GetSystemConfig(ctx context.Context, key string) (SystemConfig, error)
	// System Settings queries
	GetSystemSetting(ctx context.Context, settingKey string) (string, error)
	GetSystemSettingFull(ctx context.Context, settingKey string) (SystemSettings, error)
	GetSystemTimezone(ctx context.Context) (string, error)
	GetTombstonedAnnotationsForBook(ctx context.Context, arg GetTombstonedAnnotationsForBookParams) ([]GetTombstonedAnnotationsForBookRow, error)
	// Get universal progress for a book
	GetUniversalProgress(ctx context.Context, arg GetUniversalProgressParams) (GetUniversalProgressRow, error)
	// Get unlinked book by ContentId
	GetUnlinkedBookByContentId(ctx context.Context, arg GetUnlinkedBookByContentIdParams) (UnlinkedBooks, error)
	// Get unlinked book by ID
	GetUnlinkedBookByID(ctx context.Context, id pgtype.UUID) (UnlinkedBooks, error)
	// Get unlinked books for a device
	GetUnlinkedBooksByDevice(ctx context.Context, deviceID pgtype.UUID) ([]GetUnlinkedBooksByDeviceRow, error)
	GetUser(ctx context.Context, id pgtype.UUID) (GetUserRow, error)
	GetUserByEmail(ctx context.Context, email string) (GetUserByEmailRow, error)
	GetUserByEmailOrUsername(ctx context.Context, email string) (GetUserByEmailOrUsernameRow, error)
	GetUserByUsername(ctx context.Context, username string) (GetUserByUsernameRow, error)
	GetUserCollectionsForDashboard(ctx context.Context, userID pgtype.UUID) ([]Collections, error)
	// Get user device usage statistics
	GetUserDeviceUsage(ctx context.Context, userID pgtype.UUID) ([]GetUserDeviceUsageRow, error)
	GetUserForLogin(ctx context.Context, email string) (GetUserForLoginRow, error)
	GetUserMediaItemsForSync(ctx context.Context, userID pgtype.UUID) ([]GetUserMediaItemsForSyncRow, error)
	GetUserPasswordHash(ctx context.Context, id pgtype.UUID) (string, error)
	GetUserProgressForBooks(ctx context.Context, arg GetUserProgressForBooksParams) ([]GetUserProgressForBooksRow, error)
	// Analytics queries
	// Get user reading history for analytics
	GetUserReadingHistory(ctx context.Context, arg GetUserReadingHistoryParams) ([]GetUserReadingHistoryRow, error)
	GetUserVisibleLibraries(ctx context.Context, userID pgtype.UUID) ([]GetUserVisibleLibrariesRow, error)
	GetVisibleLibraryMediaCounts(ctx context.Context, userID pgtype.UUID) ([]GetVisibleLibraryMediaCountsRow, error)
	HasRecentConflictResolution(ctx context.Context, arg HasRecentConflictResolutionParams) (bool, error)
	IncrementSyncQueueAttempts(ctx context.Context, arg IncrementSyncQueueAttemptsParams) (SyncQueue, error)
	// Check if book is in collection
	IsBookInCollection(ctx context.Context, arg IsBookInCollectionParams) (bool, error)
	IsBookOnKoboShelf(ctx context.Context, arg IsBookOnKoboShelfParams) (bool, error)
	// Link unlinked book to media item
	LinkUnlinkedBook(ctx context.Context, arg LinkUnlinkedBookParams) (UnlinkedBooks, error)
	ListAllConflictsByUserAndStatus(ctx context.Context, arg ListAllConflictsByUserAndStatusParams) ([]ListAllConflictsByUserAndStatusRow, error)
	ListAllSyncQueueItems(ctx context.Context, arg ListAllSyncQueueItemsParams) ([]ListAllSyncQueueItemsRow, error)
	ListConflictsByUser(ctx context.Context, userID pgtype.UUID) ([]ListConflictsByUserRow, error)
	ListDevicesByType(ctx context.Context, deviceType string) ([]Devices, error)
	ListDevicesByUser(ctx context.Context, userID pgtype.UUID) ([]Devices, error)
	ListLibraries(ctx context.Context) ([]ListLibrariesRow, error)
	ListMediaItems(ctx context.Context, arg ListMediaItemsParams) ([]ListMediaItemsRow, error)
	ListMediaItemsByLibrary(ctx context.Context, libraryID pgtype.UUID) ([]ListMediaItemsByLibraryRow, error)
	// List all media items sharing a SHA-256 hash within a library (hash conflict group)
	ListMediaItemsBySHA256AndLibrary(ctx context.Context, arg ListMediaItemsBySHA256AndLibraryParams) ([]MediaItems, error)
	// List media items that have no stored SHA-256 (imported before hashing existed)
	ListMediaItemsMissingHash(ctx context.Context) ([]MediaItems, error)
	ListMediaItemsSorted(ctx context.Context, arg ListMediaItemsSortedParams) ([]ListMediaItemsSortedRow, error)
	ListPendingHashConflicts(ctx context.Context) ([]ListPendingHashConflictsRow, error)
	ListPendingSyncQueueItems(ctx context.Context, arg ListPendingSyncQueueItemsParams) ([]SyncQueue, error)
	ListProcessingIssuesByLibrary(ctx context.Context, libraryID pgtype.UUID) ([]ListProcessingIssuesByLibraryRow, error)
	ListSyncConflictsByMediaItem(ctx context.Context, arg ListSyncConflictsByMediaItemParams) ([]SyncConflicts, error)
	ListSyncConflictsByUser(ctx context.Context, userID pgtype.UUID) ([]ListSyncConflictsByUserRow, error)
	// List unresolved unlinked books with pagination
	ListUnresolvedUnlinkedBooks(ctx context.Context, arg ListUnresolvedUnlinkedBooksParams) ([]ListUnresolvedUnlinkedBooksRow, error)
	ListUsers(ctx context.Context) ([]ListUsersRow, error)
	PurgeExpiredBookmarkTombstones(ctx context.Context, deletedAt pgtype.Timestamptz) error
	PurgeExpiredHighlightTombstones(ctx context.Context, deletedAt pgtype.Timestamptz) error
	PurgeExpiredNoteTombstones(ctx context.Context, deletedAt pgtype.Timestamptz) error
	// Query media items by multiple identifiers with confidence scoring
	QueryMediaItemsByIdentifiers(ctx context.Context, arg QueryMediaItemsByIdentifiersParams) ([]QueryMediaItemsByIdentifiersRow, error)
	ReassignLibraries(ctx context.Context, arg ReassignLibrariesParams) error
	ReassignMediaItems(ctx context.Context, arg ReassignMediaItemsParams) error
	// Remove book from collection
	RemoveBookFromCollection(ctx context.Context, arg RemoveBookFromCollectionParams) error
	RemoveBookFromKoboShelf(ctx context.Context, arg RemoveBookFromKoboShelfParams) error
	// Re-parent all child rows of p_source onto p_target (defined in schema.sql)
	ReparentMediaItemChildren(ctx context.Context, arg ReparentMediaItemChildrenParams) error
	ResetSystemCollectionMetadata(ctx context.Context, arg ResetSystemCollectionMetadataParams) error
	ResolveHashConflict(ctx context.Context, arg ResolveHashConflictParams) error
	ResolveProcessingIssue(ctx context.Context, arg ResolveProcessingIssueParams) (ProcessingIssues, error)
	ResolveSyncConflict(ctx context.Context, arg ResolveSyncConflictParams) (SyncConflicts, error)
	// Resolve unlinked book
	ResolveUnlinkedBook(ctx context.Context, arg ResolveUnlinkedBookParams) (UnlinkedBooks, error)
	RevokeAllUserRefreshTokens(ctx context.Context, userID pgtype.UUID) error
	RevokeDevice(ctx context.Context, id pgtype.UUID) error
	// Revoke OPDS token
	RevokeOpdsToken(ctx context.Context, token string) error
	RevokeRefreshToken(ctx context.Context, token pgtype.UUID) error
	SearchAuthorValues(ctx context.Context, arg SearchAuthorValuesParams) ([]SearchAuthorValuesRow, error)
	SearchGenreValues(ctx context.Context, arg SearchGenreValuesParams) ([]SearchGenreValuesRow, error)
	SearchLanguageValues(ctx context.Context, arg SearchLanguageValuesParams) ([]SearchLanguageValuesRow, error)
	// Search Media Items queries
	SearchMediaItems(ctx context.Context, arg SearchMediaItemsParams) ([]SearchMediaItemsRow, error)
	SearchMediaItemsUnified(ctx context.Context, arg SearchMediaItemsUnifiedParams) ([]SearchMediaItemsUnifiedRow, error)
	SearchSeriesValues(ctx context.Context, arg SearchSeriesValuesParams) ([]SearchSeriesValuesRow, error)
	SearchTagsValues(ctx context.Context, arg SearchTagsValuesParams) ([]SearchTagsValuesRow, error)
	// Library Visibility queries
	SetLibraryVisibility(ctx context.Context, arg SetLibraryVisibilityParams) (LibraryVisibility, error)
	// Set system config
	SetSystemConfig(ctx context.Context, arg SetSystemConfigParams) (SystemConfig, error)
	SyncLibraryTypeExtensions(ctx context.Context, arg SyncLibraryTypeExtensionsParams) error
	TombstoneMediaBookmarkByDedupKey(ctx context.Context, arg TombstoneMediaBookmarkByDedupKeyParams) error
	TombstoneMediaBookmarkByID(ctx context.Context, id pgtype.UUID) error
	TombstoneMediaHighlightByDedupKey(ctx context.Context, arg TombstoneMediaHighlightByDedupKeyParams) error
	TombstoneMediaHighlightByID(ctx context.Context, id pgtype.UUID) error
	TombstoneMediaNoteByDedupKey(ctx context.Context, arg TombstoneMediaNoteByDedupKeyParams) error
	TombstoneMediaNoteByID(ctx context.Context, id pgtype.UUID) error
	// Update collection
	UpdateCollection(ctx context.Context, arg UpdateCollectionParams) (Collections, error)
	UpdateDashboardPreferences(ctx context.Context, arg UpdateDashboardPreferencesParams) (UserDashboardPreferences, error)
	UpdateDevice(ctx context.Context, arg UpdateDeviceParams) (Devices, error)
	UpdateDeviceAuthToken(ctx context.Context, arg UpdateDeviceAuthTokenParams) (Devices, error)
	// Update device catalog availability
	UpdateDeviceCatalogAvailability(ctx context.Context, arg UpdateDeviceCatalogAvailabilityParams) error
	// Update device file alias
	UpdateDeviceFileAlias(ctx context.Context, arg UpdateDeviceFileAliasParams) (DeviceFileAliases, error)
	UpdateDeviceLastSeen(ctx context.Context, id pgtype.UUID) (Devices, error)
	UpdateDeviceLastSync(ctx context.Context, id pgtype.UUID) (Devices, error)
	// Update device shelf mapping
	UpdateDeviceShelfMapping(ctx context.Context, arg UpdateDeviceShelfMappingParams) (DeviceShelfMappings, error)
	UpdateDeviceSyncTimestamp(ctx context.Context, id pgtype.UUID) (Devices, error)
	UpdateDictionaryAccessed(ctx context.Context, word string) (DictionaryCache, error)
	UpdateEmail(ctx context.Context, arg UpdateEmailParams) error
	UpdateKoboEntitlementRevision(ctx context.Context, arg UpdateKoboEntitlementRevisionParams) error
	UpdateKoboEntitlementStatus(ctx context.Context, arg UpdateKoboEntitlementStatusParams) error
	UpdateKoboShelfBookPosition(ctx context.Context, arg UpdateKoboShelfBookPositionParams) error
	// Update Kobo shelves to support collections
	UpdateKoboShelfCollection(ctx context.Context, arg UpdateKoboShelfCollectionParams) (KoboShelves, error)
	UpdateLibrary(ctx context.Context, arg UpdateLibraryParams) (Libraries, error)
	UpdateMediaBookmark(ctx context.Context, arg UpdateMediaBookmarkParams) (MediaBookmarks, error)
	UpdateMediaBookmarkForSync(ctx context.Context, arg UpdateMediaBookmarkForSyncParams) (MediaBookmarks, error)
	UpdateMediaHighlight(ctx context.Context, arg UpdateMediaHighlightParams) (MediaHighlights, error)
	UpdateMediaHighlightForSync(ctx context.Context, arg UpdateMediaHighlightForSyncParams) (MediaHighlights, error)
	UpdateMediaItem(ctx context.Context, arg UpdateMediaItemParams) (MediaItems, error)
	UpdateMediaItemChapterMetadata(ctx context.Context, arg UpdateMediaItemChapterMetadataParams) (MediaItems, error)
	// Update media item format
	UpdateMediaItemFormat(ctx context.Context, arg UpdateMediaItemFormatParams) (MediaItemFormats, error)
	// ============================================
	// FORMAT DETECTION & PROGRESS
	// ============================================
	// Update media item format group information
	UpdateMediaItemFormatGroup(ctx context.Context, arg UpdateMediaItemFormatGroupParams) error
	// Media Items Admin Operations
	// ============================================
	// UNIVERSAL BOOK IDENTIFIERS
	// ============================================
	// Update media item with universal identifiers
	UpdateMediaItemIdentifiers(ctx context.Context, arg UpdateMediaItemIdentifiersParams) (MediaItems, error)
	UpdateMediaItemKoboMetadata(ctx context.Context, arg UpdateMediaItemKoboMetadataParams) (MediaItems, error)
	UpdateMediaNote(ctx context.Context, arg UpdateMediaNoteParams) (MediaNotes, error)
	UpdateMediaNoteForSync(ctx context.Context, arg UpdateMediaNoteForSyncParams) (MediaNotes, error)
	UpdateMediaRating(ctx context.Context, arg UpdateMediaRatingParams) (MediaRatings, error)
	UpdatePassword(ctx context.Context, arg UpdatePasswordParams) error
	UpdateReadingProgress(ctx context.Context, arg UpdateReadingProgressParams) (ReadingProgress, error)
	UpdateReadingSpeed(ctx context.Context, arg UpdateReadingSpeedParams) (ReadingSpeed, error)
	UpdateSavedFilter(ctx context.Context, arg UpdateSavedFilterParams) (SavedFilters, error)
	UpdateSyncQueueItemStatus(ctx context.Context, arg UpdateSyncQueueItemStatusParams) (SyncQueue, error)
	UpdateSystemSetting(ctx context.Context, arg UpdateSystemSettingParams) error
	// Update universal progress
	UpdateUniversalProgress(ctx context.Context, arg UpdateUniversalProgressParams) (ReadingProgress, error)
	UpdateUserMaxDevices(ctx context.Context, arg UpdateUserMaxDevicesParams) (Users, error)
	UpdateUserProfile(ctx context.Context, arg UpdateUserProfileParams) error
	UpdateUserRole(ctx context.Context, arg UpdateUserRoleParams) (UpdateUserRoleRow, error)
	UpdateUserTheme(ctx context.Context, arg UpdateUserThemeParams) error
	UpdateUserTimezone(ctx context.Context, arg UpdateUserTimezoneParams) error
	UpdateUsername(ctx context.Context, arg UpdateUsernameParams) error
	UpsertDashboardPreferences(ctx context.Context, arg UpsertDashboardPreferencesParams) (UserDashboardPreferences, error)
	UpsertPanelData(ctx context.Context, arg UpsertPanelDataParams) (PanelData, error)
	UpsertReaderSettings(ctx context.Context, arg UpsertReaderSettingsParams) (ReaderSettings, error)
	UpsertSystemSetting(ctx context.Context, arg UpsertSystemSettingParams) (SystemSettings, error)
}

var _ Querier = (*Queries)(nil)
