UNPKG

intentful

Version:

Create Custom Skills with less headache

29 lines (28 loc) 1.03 kB
import { LabeledRequestHandler, RequestHandlerProvider } from '../../skill/models'; import { Calculable, ModelProvider } from '../../types'; export interface CommandModel { type?: string; description?: string; delay?: Calculable<number>; screenLock?: Calculable<boolean>; sequencer?: Calculable<string>; when?: Calculable<string>; } export interface CommandProps { description?: string; delay?: Calculable<number>; screenLock?: Calculable<boolean>; sequencer?: Calculable<string>; when?: Calculable<string>; } export declare abstract class Command<T extends CommandModel, P extends CommandProps> implements RequestHandlerProvider, ModelProvider<T> { readonly type: string; readonly props: P; constructor(type: string, props: P); toJSON(): T; abstract commandSpecificRequestHandlers(): LabeledRequestHandler[]; abstract commandSpecificModel(): T; model(): T; getRequestHandlers(): LabeledRequestHandler[]; convertCommandPropsToModel(): CommandModel; }