import NetworkLibrary from "../core/services/networklibrary";
import AddPostRequest from "./model/AddPostRequest";
import DeletePostRequest from "./model/DeletePostRequest";
import GetPostRequest from "./model/GetPostRequest";
import SavePostRequest from "./model/SavePostRequest";
import GetPostLikesRequest from "./model/GetPostLikesRequest";
import { GetPostLikes } from "../types/api-responses/getPostLikesResponse";
import LikePostRequest from "./model/LikePostRequest";
import PinPostRequest from "./model/PinPostRequest";
import EditPostRequest from "./model/EditPostRequest";
import { EditPost } from "../types/api-responses/addPostResponse";
import DecodeURLRequest from "./model/DecodeUrlRequest";
import GetTaggingListRequest from "./model/GetTaggingListRequest";
import GetTopicsRequest from "./model/GetTopicsRequest";
import { AddPost } from "../types/api-responses/addPostResponse";
import { GetPostDetails } from "../types/api-responses/getPostDetailsResponse";
import { LikePost } from "../types/api-responses/likePostResponse";
import { GetPinPost } from "../types/api-responses/getPinPostResponse";
import { DeletePost } from "../types/api-responses/deletePostResponse";
import { GetTaggingList } from "../types/api-responses/getTaggingListResponse";
import { GetTopics } from "../types/api-responses/getTopicsResponse";
import { DecodeURL } from "../types/api-responses/decodeUrlResponse";
import { SavePost } from "../types/api-responses/savePostResponse";
import HidePostRequest from "./model/HidePostRequest";
import UpdateUserTopicsRequest from "./model/UpdateUserTopicsRequest";
import GetUserTopicsRequest from "./model/GetUserTopicsRequest";
import { GetUserTopicsResponse } from "src/types/api-responses/getUserTopicsResponse";
import PostSeenRequest from "./model/PostSeenRequest";
import { PostSeen } from "../types/api-responses/postSeenResponse";
import SaveTemporaryPostRequest from "./model/SaveTemporaryPostRequest";
import DeleteTemporaryPostRequest from "./model/DeleteTemporaryPostRequest";
import { GetTemporaryPostResponse } from "../types/api-responses/GetTemporaryPostResponse";
import LMResponse from "../core/services/lmresponse";
import { Nothing } from "src/pages/user/types";
declare class PostClient {
    private networkLibrary;
    private dbPromise;
    constructor(instance: NetworkLibrary);
    addPost(request: AddPostRequest): Promise<LMResponse<AddPost>>;
    getPost(getPost: GetPostRequest): Promise<LMResponse<GetPostDetails>>;
    savePost(savePost: SavePostRequest): Promise<LMResponse<SavePost>>;
    getPostLikes(request: GetPostLikesRequest): Promise<LMResponse<GetPostLikes>>;
    likePost(likePost: LikePostRequest): Promise<LMResponse<LikePost>>;
    pinPost(pinPost: PinPostRequest): Promise<LMResponse<GetPinPost>>;
    editPost(editPost: EditPostRequest): Promise<LMResponse<EditPost>>;
    deletePost(deletePost: DeletePostRequest): Promise<LMResponse<DeletePost>>;
    hidePost(hidePostRequest: HidePostRequest): Promise<LMResponse<undefined>>;
    decodeUrl(decodeUrl: DecodeURLRequest): Promise<LMResponse<DecodeURL>>;
    getTaggingList(taggingList: GetTaggingListRequest): Promise<LMResponse<GetTaggingList>>;
    getTopics(request: GetTopicsRequest): Promise<LMResponse<GetTopics>>;
    updateUserTopics(request: UpdateUserTopicsRequest): Promise<{
        success: boolean;
    } | {
        success: boolean;
        errorMessage: any;
    }>;
    getUserTopics(request: GetUserTopicsRequest): Promise<LMResponse<GetUserTopicsResponse>>;
    postSeen(request: PostSeenRequest): Promise<LMResponse<PostSeen>>;
    saveTemporaryPost(request: SaveTemporaryPostRequest): Promise<LMResponse<Nothing>>;
    deleteTemporaryPost(request: DeleteTemporaryPostRequest): Promise<LMResponse<Nothing>>;
    getTemporaryPost(): Promise<LMResponse<GetTemporaryPostResponse>>;
}
export default PostClient;
