import type { Transport, PageResult } from '@23blocks/contracts'; import type { Series, CreateSeriesRequest, UpdateSeriesRequest, ListSeriesParams, QuerySeriesParams, ReorderPostsRequest } from '../types/series.js'; import type { Post } from '../types/post.js'; export interface SeriesService { /** * List all series * @param params - Optional pagination parameters * @returns Paginated list of Series records with pagination metadata */ list(params?: ListSeriesParams): Promise>; /** * Query series using advanced filters via POST * @param params - Required filtering and pagination parameters * @returns Paginated list of Series records with pagination metadata */ query(params: QuerySeriesParams): Promise>; /** * Get a series by unique ID * @param uniqueId - Unique ID of the series to retrieve * @returns The matching Series record */ get(uniqueId: string): Promise; /** * Create a new series * @param data - Series creation payload * @returns The newly created Series record */ create(data: CreateSeriesRequest): Promise; /** * Update a series * @param uniqueId - Unique ID of the series to update * @param data - Fields to update on the series * @returns The updated Series record */ update(uniqueId: string, data: UpdateSeriesRequest): Promise; /** * Delete a series * @param uniqueId - Unique ID of the series to delete * @returns void on successful deletion */ delete(uniqueId: string): Promise; /** * Like a series * @param uniqueId - Unique ID of the series to like * @returns The updated Series record with engagement state */ like(uniqueId: string): Promise; /** * Remove a like from a series * @param uniqueId - Unique ID of the series to dislike * @returns The updated Series record with engagement state */ dislike(uniqueId: string): Promise; /** * Follow a series to receive notifications on updates * @param uniqueId - Unique ID of the series to follow * @returns The updated Series record with engagement state */ follow(uniqueId: string): Promise; /** * Unfollow a series to stop receiving notifications * @param uniqueId - Unique ID of the series to unfollow * @returns void on successful unfollow */ unfollow(uniqueId: string): Promise; /** * Save a series to the user's saved items * @param uniqueId - Unique ID of the series to save * @returns The updated Series record with engagement state */ save(uniqueId: string): Promise; /** * Remove a series from the user's saved items * @param uniqueId - Unique ID of the series to unsave * @returns void on successful unsave */ unsave(uniqueId: string): Promise; /** * Get all posts belonging to a series * @param uniqueId - Unique ID of the series * @returns Array of Post records in the series */ getPosts(uniqueId: string): Promise; /** * Add a post to a series * @param seriesUniqueId - Unique ID of the series * @param postUniqueId - Unique ID of the post to add * @param sequence - Optional position in the series ordering * @returns void on successful addition */ addPost(seriesUniqueId: string, postUniqueId: string, sequence?: number): Promise; /** * Remove a post from a series * @param seriesUniqueId - Unique ID of the series * @param postUniqueId - Unique ID of the post to remove * @returns void on successful removal */ removePost(seriesUniqueId: string, postUniqueId: string): Promise; /** * Reorder posts within a series * @param uniqueId - Unique ID of the series * @param data - Array of post-sequence pairs defining the new order * @returns The updated Series record */ reorderPosts(uniqueId: string, data: ReorderPostsRequest): Promise; } export declare function createSeriesService(transport: Transport, _config: { apiKey: string; }): SeriesService; //# sourceMappingURL=series.service.d.ts.map