export type PostsProviderState = {
    initializeLoading: boolean;
    isLoading: boolean;
    isUploading: boolean;
    isError: boolean;
    isInitialized: boolean;
    posts: Post[];
    postDetails: Post;
    likePostLoading: string | null;
    likeCommentLoading: string | null;
};
export type Post = {
    id: string;
    content: {
        image: string;
        title: string;
        videoType: string;
        description: string;
        videoReference: string;
    };
    visibility: string;
    publisher: string;
    tags: string[];
    event: string;
    discussion: {
        comments: {
            [key: string]: Comment;
        };
        likeList: string[];
        commentCount: number;
    };
    published_at: string;
};
export type CommentBody = {
    parent?: string;
    message: string;
    tagged_list?: string[];
};
export type Comment = {
    comments: {
        [key: string]: Comment;
    };
    createdAt: string;
    createdBy: string;
    id: string;
    likeList: string[];
    message: string;
    taggedList: string[];
    updatedAt: string;
    deletedAt: string;
};
export type PostBody = {
    title: string;
    description?: string;
    image?: {
        filename: string;
        mime: string;
        path: string;
    };
    tags?: string;
    video_type?: string[];
    video_reference?: string;
    event: string;
    tagged_list?: string[];
};
export type UpdatePostBody = {
    title?: string;
    description?: string;
    image?: {
        name: string;
        type: string;
        uri: string;
    };
    tags?: string;
    video_type?: string[];
    video_reference?: string;
    tagged_list?: string[];
};
