/// import { EventEmitter } from 'events'; import { JsonObject } from 'type-fest'; import { SlackOAuthClient, SlackTypes } from 'sibdigital-messaging-apis/packages/messaging-api-slack'; import Context from '../context/Context'; import Session from '../session/Session'; import { RequestContext } from '../types'; import SlackEvent from './SlackEvent'; export declare type SlackContextOptions = { client: SlackOAuthClient; event: SlackEvent; session?: Session | null; initialState?: JsonObject | null; requestContext?: RequestContext; emitter?: EventEmitter | null; }; export default class SlackContext extends Context { chat: { postMessage: (options: Omit) => Promise; postEphemeral: (options: Omit, 'user'>) => Promise; update: (options: SlackTypes.UpdateMessageOptions) => Promise; delete: (options: Omit) => Promise; meMessage: (options: Omit) => Promise; getPermalink: (options: Omit) => Promise; scheduleMessage: (options: Omit) => Promise; deleteScheduledMessage: (options: Omit) => Promise; scheduledMessages: { list: (options: SlackTypes.GetScheduledMessagesOptions) => Promise; }; }; views: { open: (options: SlackTypes.OpenViewOptions) => Promise; publish: (options: SlackTypes.PublishViewOptions) => Promise; push: (options: SlackTypes.PushViewOptions) => Promise; update: (options: SlackTypes.UpdateViewOptions) => Promise; }; constructor({ client, event, session, initialState, requestContext, emitter, }: SlackContextOptions); get platform(): 'slack'; _getChannelIdFromSession(callerMethodName?: string): string | null; postMessage(message: { text?: string; attachments?: SlackTypes.Attachment[] | string; blocks?: SlackTypes.MessageBlock[] | string; } | string, options?: {}): Promise; _postMessage(options: Omit): Promise; postEphemeral(message: { text?: string; attachments?: SlackTypes.Attachment[] | string; blocks?: SlackTypes.MessageBlock[] | string; } | string, options?: {}): Promise; _postEphemeral(options: Omit, 'user'>): Promise; sendText(text: string): Promise; _updateMessage(options: SlackTypes.UpdateMessageOptions): Promise; _deleteMessage(options: Omit): Promise; _meMessage(options: Omit): Promise; _getPermalink(options: Omit): Promise; _scheduleMessage(options: Omit): Promise; _deleteScheduledMessage(options: Omit): Promise; _getScheduledMessages(options: SlackTypes.GetScheduledMessagesOptions): Promise; _openView(options: SlackTypes.OpenViewOptions): Promise; _publishView(options: SlackTypes.PublishViewOptions): Promise; _updateView(options: SlackTypes.UpdateViewOptions): Promise; _pushView(options: SlackTypes.PushViewOptions): Promise; } //# sourceMappingURL=SlackContext.d.ts.map