import { BehaviorSubject } from 'rxjs'; import { CustomMessageActionItem, MessageActionItem, MessageActionsClickDetails, MessageReactionActionItem, StreamMessage } from './types'; import { ChatClientService } from './chat-client.service'; import { NotificationService } from './notification.service'; import { ChannelService } from './channel.service'; import * as i0 from "@angular/core"; /** * The message actions service provides customization options for the [message actions](/chat/docs/sdk/angular/components/MessageActionsBoxComponent) */ export declare class MessageActionsService { private chatClientService; private notificationService; private channelService; /** * Default actions - these are the actions that are handled by the built-in component */ readonly defaultActions: (MessageActionItem | MessageReactionActionItem)[]; /** * The built-in components will handle changes to this observable. */ messageToEdit$: BehaviorSubject; /** * You can pass your own custom actions that will be displayed inside the built-in message actions component */ customActions$: BehaviorSubject; /** * By default the [`MessageComponent`](/chat/docs/sdk/angular/components/MessageComponent/) will display the [`MessageActionsBoxComponent`](/chat/docs/sdk/angular/components/MessageActionsBoxComponent/). You can override that behavior by providing your own event handler. */ customActionClickHandler?: (details: MessageActionsClickDetails) => void; /** * @internal */ messageMenuOpenedFor$: BehaviorSubject; /** * @internal */ modalOpenedForMessage: BehaviorSubject; private hasDisplayedClipboardWarning; constructor(chatClientService: ChatClientService, notificationService: NotificationService, channelService: ChannelService); /** * This method returns how many authorized actions are available to the given message * @param message * @param enabledActions * @returns the count */ getAuthorizedMessageActionsCount(message: StreamMessage, enabledActions: string[]): number; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }