export interface MessageSystemServiceActionCallbackConfig { /** * The unique identifier */ id: string; } export interface MessageSystemServiceActionCallback extends MessageSystemServiceActionCallbackConfig { /** * The action to take when the key values have been pressed */ action: (config: TCallback) => void; } export declare type MessageSystemServiceActionConfig = MessageSystemServiceActionCallbackConfig & MessageSystemServiceActionCallback & TOptions; /** * This abstract class is for actions intended to be part * of a registered class * * It takes three generics, TCallback, an object which is added to the * MessageSystemServiceActionCallbackConfig and provided to the class constructor, * TMatch, a generic used for matching against to determine if the action should run, * and TOptions for additional options to be passed in the constructor. */ export declare abstract class MessageSystemServiceAction { private action; id: string; constructor(config: MessageSystemServiceActionConfig); /** * Gets the action to be called */ getAction: (config: TCallback) => (() => void); /** * Tests to see if this matches a given condition */ abstract matches(config: TMatch): boolean; }