intentful
Version:
Create Custom Skills with less headache
18 lines (17 loc) • 657 B
TypeScript
import { ModelProvider } from '../..';
import { LabeledRequestHandler, RequestHandlerProvider } from '../../skill';
export interface GestureModel extends GestureProps {
type?: string;
}
export interface GestureProps {
}
export declare abstract class Gesture<T extends GestureModel, P extends GestureProps> implements RequestHandlerProvider, ModelProvider<T> {
readonly type: string;
readonly props: P;
constructor(type: string, props: P);
abstract componentSpecificRequestHandlers(): LabeledRequestHandler[];
abstract componentSpecificModel(): T;
model(): T;
toJSON(): T;
getRequestHandlers(): LabeledRequestHandler[];
}