///
import { EventEmitter } from 'events';
import { JsonObject } from 'type-fest';
import { MessengerClient } from 'messaging-api-messenger';
import Session from '../session/Session';
import { Connector } from '../bot/Connector';
import FacebookBaseConnector, { FacebookBaseConnectorOptions } from './FacebookBaseConnector';
import MessengerContext from './MessengerContext';
import MessengerEvent from './MessengerEvent';
import { MessengerRawEvent, MessengerRequestBody, MessengerRequestContext } from './MessengerTypes';
export declare type MessengerConnectorOptions = FacebookBaseConnectorOptions & {
skipLegacyProfile?: boolean;
mapPageToAccessToken?: (pageId: string) => Promise;
};
export default class MessengerConnector extends FacebookBaseConnector implements Connector {
_skipLegacyProfile: boolean;
_mapPageToAccessToken: ((pageId: string) => Promise) | null;
constructor(options: MessengerConnectorOptions);
_getRawEventsFromRequest(body: MessengerRequestBody): MessengerRawEvent[];
_getPageIdFromRawEvent(rawEvent: MessengerRawEvent): string | null;
_isStandby(body: MessengerRequestBody): boolean;
_profilePicExpired(user: {
profilePic: string;
}): boolean;
get platform(): 'messenger';
getUniqueSessionKey(bodyOrEvent: MessengerRequestBody | MessengerEvent): string | null;
updateSession(session: Session, bodyOrEvent: MessengerRequestBody | MessengerEvent): Promise;
mapRequestToEvents(body: MessengerRequestBody): MessengerEvent[];
createContext(params: {
event: MessengerEvent;
session?: Session;
initialState?: JsonObject;
requestContext?: MessengerRequestContext;
emitter?: EventEmitter;
}): Promise;
}
//# sourceMappingURL=MessengerConnector.d.ts.map