import { MessageReactionClickDetails, MessageReactionType } from './types';
import { BehaviorSubject } from 'rxjs';
import { ChatClientService } from './chat-client.service';
import { NotificationService } from './notification.service';
import * as i0 from "@angular/core";
/**
 * The `MessageReactionsService` provides customization options to message [reactions](/chat/docs/javascript/send_reaction/).
 *
 */
export declare class MessageReactionsService {
    private chatClientService;
    private notificationService;
    /**
     * The enabled [reactions](/chat/docs/javascript/send_reaction/) and the associated emoji
     *
     * You can provide any string as a reaction. The emoji can be provided as a string, if you want to use custom images for reactions you have to provide a [custom reactions UI](/chat/docs/sdk/angular/services/CustomTemplatesService/#messagereactionstemplate/)
     */
    reactions$: BehaviorSubject<{
        [x: string]: string;
    }>;
    /**
     * By default the [`MessageReactionsComponent`](/chat/docs/sdk/angular/components/MessageReactionsComponent/) will display the reacting users when a reaction is clicked. You can override this with your own UI by providing a custom event handler.
     *
     * The event handler can retrieve all reactions of a message using the [`messageReactionsService.queryReactions()`](/chat/docs/sdk/angular/services/MessageReactionsService/#queryreactions)
     */
    customReactionClickHandler?: (details: MessageReactionClickDetails) => void;
    constructor(chatClientService: ChatClientService, notificationService: NotificationService);
    /**
     * Sets the enabled reactions
     */
    set reactions(reactions: {
        [key in MessageReactionType]: string;
    });
    /**
     * Get the currently enabled reactions
     */
    get reactions(): {
        [key in MessageReactionType]: string;
    };
    /**
     * Query reactions of a specific message, more info in the [API documentation](/chat/docs/javascript/send_reaction/#query-reactions)
     * @param messageId
     * @param type
     * @param next
     * @returns the reactions and the cursor for the next/prev pages
     */
    queryReactions(messageId: string, type: string, next?: string): Promise<import("stream-chat").QueryReactionsAPIResponse>;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessageReactionsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MessageReactionsService>;
}
