import BaseConnector from './BaseConnector'; import BaseHttpConnector from './BaseHttpConnector'; import EventConfiguration from './EventConfiguration'; import { Logger } from 'winston'; export declare type Updater = (value: any) => Promise; export declare type Handler = { handle: (event?: EventConfiguration) => void; id: string; }; export declare type PersistentStore = { del: (key: string) => Promise; get: (key: string) => Promise; list: () => Promise; set: (key: string, value: any) => Promise; update: (key: string, updater: Updater) => Promise; validateKey: (key: string) => void; validateValue: (value: any) => void; }; export interface Reshuffle { getConnector: (connectorId: BaseConnector['id']) => BaseConnector; when: (eventConfiguration: EventConfiguration, handler: (() => void) | Handler) => Reshuffle; register: (connector: BaseConnector) => Reshuffle; registerHTTPDelegate: (path: string, delegate: BaseHttpConnector) => Reshuffle; unregisterHTTPDelegate: (path: string) => void; handleEvent: (eventName: string, event: any) => Promise; getPersistentStore: () => PersistentStore; getLogger: () => Logger; }