import { AfterViewInit, ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { CustomTemplatesService } from '../custom-templates.service';
import { CustomMessageActionItem, MessageActionBoxItemContext, MessageActionItem, MessageReactionActionItem, MessageReactionsSelectorContext, StreamMessage } from '../types';
import { MessageActionsService } from '../message-actions.service';
import * as i0 from "@angular/core";
/**
 * The `MessageActionsBox` component displays a list of message actions (i.e edit), that can be opened or closed. You can find the [list of the supported actions](/chat/docs/sdk/angular/concepts/message-interactions/) in the message interaction guide.
 */
export declare class MessageActionsBoxComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
    readonly customTemplatesService: CustomTemplatesService;
    private messageActionsService;
    private cdRef;
    /**
     * Indicates if the message actions are belonging to a message that was sent by the current user or not.
     */
    isMine: boolean;
    /**
     * The message the actions will be executed on
     */
    message: StreamMessage | undefined;
    /**
     * The HTML element which contains the message text, it's used for the "copy message text" action
     */
    messageTextHtmlElement: HTMLElement | undefined;
    /**
     * The list of [channel capabilities](/chat/docs/javascript/channel_capabilities/) that are enabled for the current user, the list of [supported interactions](/chat/docs/sdk/angular/concepts/message-interactions) can be found in our message interaction guide. Unathorized actions won't be displayed on the UI.
     */
    enabledActions: string[];
    messageActionItemTemplate: TemplateRef<MessageActionBoxItemContext> | undefined;
    visibleMessageActionItems: (MessageActionItem | CustomMessageActionItem | MessageReactionActionItem)[];
    isEditModalOpen: boolean;
    customActions: CustomMessageActionItem[];
    private readonly messageActionItems;
    private subscriptions;
    private isViewInited;
    constructor(customTemplatesService: CustomTemplatesService, messageActionsService: MessageActionsService, cdRef: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    getActionLabel(actionLabelOrTranslationKey: ((message: StreamMessage) => string) | string): string;
    getReactionSelectorTemplateContext(): MessageReactionsSelectorContext;
    getMessageActionTemplateContext(item: MessageActionItem | CustomMessageActionItem | MessageReactionActionItem): MessageActionBoxItemContext;
    private isReactAction;
    private setVisibleActions;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessageActionsBoxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MessageActionsBoxComponent, "stream-message-actions-box", never, { "isMine": { "alias": "isMine"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageTextHtmlElement": { "alias": "messageTextHtmlElement"; "required": false; }; "enabledActions": { "alias": "enabledActions"; "required": false; }; }, {}, never, never, false, never>;
}
