import type { IdentityCore, EntityStatus } from '@23blocks/contracts'; export interface Post extends IdentityCore { uniqueId: string; postVersionUniqueId?: string; title: string; abstract?: string; keywords?: string; content?: string; thumbnailUrl?: string; imageUrl?: string; mediaUrl?: string; payload?: Record; status: EntityStatus; enabled: boolean; publishAt?: Date; publishUntil?: Date; userUniqueId?: string; userName?: string; userAlias?: string; userAvatarUrl?: string; isPublic?: boolean; version?: number; likes?: number; dislikes?: number; comments?: number; followers?: number; savers?: number; slug?: string; aiGenerated?: boolean; aiModel?: string; moderated?: boolean; moderatedBy?: string; moderatedAt?: Date; moderationReason?: string; moderationDecision?: string; seriesId?: number; seriesUniqueId?: string; seriesSequence?: number; } export interface CreatePostRequest { title: string; abstract?: string; keywords?: string; content?: string; thumbnailUrl?: string; imageUrl?: string; mediaUrl?: string; categoryUniqueIds?: string[]; tagUniqueIds?: string[]; isPublic?: boolean; publishAt?: Date; publishUntil?: Date; payload?: Record; /** Associate post with a series. Use empty string to remove from series. */ seriesUniqueId?: string; /** Position within the series. Auto-increments if not provided. */ seriesSequence?: number; } export interface UpdatePostRequest { title?: string; abstract?: string; keywords?: string; content?: string; thumbnailUrl?: string; imageUrl?: string; mediaUrl?: string; categoryUniqueIds?: string[]; tagUniqueIds?: string[]; isPublic?: boolean; publishAt?: Date; publishUntil?: Date; enabled?: boolean; status?: EntityStatus; payload?: Record; /** Associate post with a series. Use empty string to remove from series. */ seriesUniqueId?: string; /** Position within the series. Auto-increments if not provided. */ seriesSequence?: number; } export interface ListPostsParams { page?: number; perPage?: number; status?: EntityStatus; categoryUniqueId?: string; tagUniqueId?: string; userUniqueId?: string; search?: string; withComments?: boolean; withCategories?: boolean; withTags?: boolean; isPublic?: boolean; sortBy?: string; sortOrder?: 'asc' | 'desc'; } //# sourceMappingURL=post.d.ts.map