/// import { EventEmitter } from 'events'; import { JsonObject } from 'type-fest'; import { SlackOAuthClient } from 'sibdigital-messaging-apis/packages/messaging-api-slack'; import Session from '../session/Session'; import { Connector } from '../bot/Connector'; import { RequestContext } from '../types'; import SlackContext from './SlackContext'; import SlackEvent from './SlackEvent'; import { SlackRawEvent, SlackRequestBody } from './SlackTypes'; declare type CommonConnectorOptions = { skipLegacyProfile?: boolean; verificationToken?: string; signingSecret?: string; includeBotMessages?: boolean; }; declare type ConnectorOptionsWithoutClient = { accessToken: string; origin?: string; } & CommonConnectorOptions; declare type ConnectorOptionsWithClient = { client: SlackOAuthClient; } & CommonConnectorOptions; export declare type SlackConnectorOptions = ConnectorOptionsWithoutClient | ConnectorOptionsWithClient; export default class SlackConnector implements Connector { _client: SlackOAuthClient; _verificationToken: string; _signingSecret: string; _skipLegacyProfile: boolean; _includeBotMessages: boolean; constructor(options: SlackConnectorOptions); _getRawEventFromRequest(body: SlackRequestBody): SlackRawEvent; _isBotEventRequest(body: SlackRequestBody): boolean; get platform(): 'slack'; get client(): SlackOAuthClient; _getChannelId(rawEvent: any): string | null; _getUserId(rawEvent: SlackRawEvent): string | null; getUniqueSessionKey(body: SlackRequestBody): string | null; updateSession(session: Session, body: SlackRequestBody): Promise; mapRequestToEvents(body: SlackRequestBody): SlackEvent[]; createContext(params: { event: SlackEvent; session: Session | null; initialState?: JsonObject | null; requestContext?: RequestContext; emitter?: EventEmitter | null; }): SlackContext; verifySignature(tokenFromBody: string): boolean; verifySignatureBySigningSecret({ rawBody, signature, timestamp, }: { rawBody: string; signature: string; timestamp: string; }): boolean; preprocess({ method, headers, body, rawBody, }: { method: string; headers: Record; query: Record; rawBody: string; body: Record; }): { shouldNext: boolean; response?: undefined; } | { shouldNext: boolean; response: { status: number; body: any; }; }; } export {}; //# sourceMappingURL=SlackConnector.d.ts.map