import { IDatabaseAdapter } from '@bernierllc/database-adapter-core'; import { IContent, IContentCreateData, IContentUpdateData } from './models/IContent'; import { IContentVersion } from './models/IContentVersion'; import { IContentFilters, IPaginatedResult } from './models/IContentFilters'; /** * Content storage adapter * Provides type-safe CRUD operations for content management */ export declare class ContentStorageAdapter { private db; constructor(db: IDatabaseAdapter); /** * Create new content with automatic slug generation */ create(data: IContentCreateData): Promise; /** * Get content by ID (with soft-delete check) */ getById(id: string, options?: { includeDeleted?: boolean; }): Promise; /** * Get content by slug */ getBySlug(slug: string): Promise; /** * Update content with optimistic locking */ update(id: string, data: IContentUpdateData, expectedUpdatedAt?: Date): Promise; /** * Soft delete content */ delete(id: string): Promise; /** * Permanently delete content (use sparingly) */ hardDelete(id: string): Promise; /** * Restore soft-deleted content */ restore(id: string): Promise; /** * List content with filters and pagination */ list(filters?: IContentFilters): Promise>; /** * Get content versions */ getVersions(contentId: string): Promise; /** * Get specific version */ getVersion(contentId: string, versionNumber: number): Promise; /** * Ensure slug is unique by appending number if needed */ private ensureUniqueSlug; /** * Check if slug exists */ private slugExists; /** * Map database row to content model */ private mapRowToContent; /** * Map database row to version model */ private mapRowToVersion; /** * Map order field to database column */ private mapOrderField; } //# sourceMappingURL=ContentStorageAdapter.d.ts.map