import { GuidValue, IPersistedPost, IPostBaseContext, IPostBaseWithContext, IPostReference, ReactionType } from "../models";
export declare class PostService<TContextType extends IPostBaseContext> {
    private serviceContainerContext;
    private extensionHttpClients;
    update<TPostType extends IPostBaseWithContext<TContextType>>(postToUpdate: IPersistedPost<TPostType>): Promise<IPersistedPost<TPostType>>;
    create<TPostType extends IPostBaseWithContext<TContextType>>(postToCreate: TPostType): Promise<IPersistedPost<TPostType>>;
    delete<TPostType extends IPostBaseWithContext<TContextType>>(postRef: IPostReference): Promise<IPersistedPost<TPostType>>;
    get<TPostType extends IPostBaseWithContext<TContextType>>(postRef: IPostReference): Promise<IPersistedPost<TPostType>>;
    getContext<TPostType extends IPostBaseWithContext<TContextType>>(omniaServiceId: GuidValue, postTypeId: GuidValue, topicId: GuidValue): Promise<Array<IPersistedPost<TPostType>>>;
    toggleLike<TPostType extends IPostBaseWithContext<TContextType>>(postToToggle: IPersistedPost<TPostType>): Promise<IPersistedPost<TPostType>>;
    socialReacts<TPostType extends IPostBaseWithContext<TContextType>>(postToReact: IPersistedPost<TPostType>, isReacts: boolean, reactionType: ReactionType): Promise<IPersistedPost<TPostType>>;
    private getHttpClientForServiceId;
    private getBaseUrl;
    private getQueryString;
}
