/** * Database adapter interface * Implement this interface to create custom database adapters * @module @unbloque/blog-core/adapters */ import type { BlogPost, CreateBlogPostInput, UpdateBlogPostInput, BlogPostFilters } from "../types"; export interface BlogAdapter { /** * Get all blog posts with optional filters */ getPosts(filters?: BlogPostFilters): Promise; /** * Get a single post by slug */ getPostBySlug(slug: string): Promise; /** * Get a single post by ID */ getPostById(id: string): Promise; /** * Create a new blog post */ createPost(post: CreateBlogPostInput): Promise; /** * Update an existing blog post */ updatePost(id: string, post: UpdateBlogPostInput): Promise; /** * Delete a blog post */ deletePost(id: string): Promise; /** * Initialize the adapter (setup tables, indexes, etc.) */ initialize?(): Promise; } //# sourceMappingURL=adapter.d.ts.map