///
import { UseAsyncReturn } from 'react-async-hook';
import { Selection } from '@fluentui/react';
import { IPost } from '@shared/interfaces/model';
import { ModelState } from '@admin/helpers/hooks';
interface IPostsContext {
selection: Selection;
getPosts: UseAsyncReturn;
getPost: UseAsyncReturn;
getBySlug: UseAsyncReturn;
createPost: UseAsyncReturn;
updatePost: UseAsyncReturn;
publishPosts: UseAsyncReturn;
copyPosts: UseAsyncReturn;
updatePostContent: UseAsyncReturn;
compilePost: UseAsyncReturn;
getPreviewData: UseAsyncReturn;
deletePosts: UseAsyncReturn;
loadingContent: boolean;
setLoadingContent: (id: string, val: boolean) => void;
getVersions: UseAsyncReturn;
getVersionsCount: UseAsyncReturn;
deleteVersions: UseAsyncReturn;
restoreVersion: UseAsyncReturn;
post: IPost;
setPost: (post: IPost) => void;
additionalData: any;
setAdditionalData: (data: any) => void;
posts: IPost[];
postsState: ModelState;
params: any;
setParams: (params: any) => void;
getOneContentType: UseAsyncReturn;
selectedPosts: IPost[];
stateData: any;
setStateData: (key: string, val: any) => void;
}
declare const PostsContextProvider: ({ defaultAdditionalData, children }: {
defaultAdditionalData?: {};
children: any;
}) => JSX.Element;
declare const usePosts: () => IPostsContext;
export { usePosts, PostsContextProvider };