import type { Comment, Posts } from '../types';
export type GetAllPosts = (opts: {
    readonly key: string;
}) => Promise<readonly Posts[] | Error>;
export type SetAllPosts = (opts: {
    readonly key: string;
    readonly posts: readonly Posts[];
}) => Promise<boolean | Error>;
export type SetSinglePost = (opts: {
    readonly key: string;
    readonly url: string;
    readonly post: Posts;
}) => Promise<boolean | Error>;
export type SetSingleComment = (opts: {
    readonly key: string;
    readonly url: string;
    readonly postId: string;
    readonly comment: Comment;
}) => Promise<boolean | Error>;
export declare const getAllPosts: (type: 'encoded:redis' | 'documents:redis', opts: {
    readonly key: string;
}, page?: number) => ReturnType<GetAllPosts>;
export declare const setAllPosts: (type: 'encoded:redis', opts: {
    readonly key: string;
    readonly posts: readonly Posts[];
}) => ReturnType<SetAllPosts>;
export declare const setSinglePost: (type: 'documents:redis', opts: {
    readonly key: string;
    readonly url: string;
    readonly post: Posts;
}) => ReturnType<SetSinglePost>;
export declare const setSingleComment: (type: 'documents:redis', opts: {
    readonly key: string;
    readonly url: string;
    readonly postId: string;
    readonly comment: Comment;
}) => ReturnType<SetSingleComment>;
