import type { AnyMiddlewareArgs, Middleware } from './types'; /** * Storage backend used by the conversation context middleware */ export interface ConversationStore { set(conversationId: string, value: ConversationState, expiresAt?: number): Promise; get(conversationId: string): Promise; } /** * Default implementation of ConversationStore, which stores data in memory. * * This should not be used in situations where there is more than once instance of the app running because state will * not be shared amongst the processes. */ export declare class MemoryStore implements ConversationStore { private state; set(conversationId: string, value: ConversationState, expiresAt?: number): Promise; get(conversationId: string): Promise; } /** * Conversation context global middleware. * * This middleware allows listeners (and other middleware) to store state related to the conversationId of an incoming * event using the `context.updateConversation()` function. That state will be made available in future events that * take place in the same conversation by reading from `context.conversation`. * * @param store storage backend used to store and retrieve all conversation state * @param logger a logger */ export declare function conversationContext(store: ConversationStore): Middleware; //# sourceMappingURL=conversation-store.d.ts.map