/// import { EventEmitter } from 'events'; import { StackBase, StackEvent } from '../stack/stack'; import { TCWidget } from '../tcwidget/tcwidget-base'; export interface Widget { name(): string; setName(name: string): void; type(): WidgetType; setType(widgetType: WidgetType): void; weight(): number | undefined; setWeight(weight: number): void; touchedState(): boolean; pressedState(): boolean; absoluteValue(): any; } export interface UIWidget { name: string; type: WidgetType; weight: number; } export declare class WidgetBase extends EventEmitter implements Widget { constructor(name: string, type: WidgetType, weight?: number); private _name; private _type; private _touchedState; private _pressedState; private _weight; private _derivedFromHardware; private _tcWidget; private _stack; absoluteValue(): any; pressedState(): boolean; touchedState(): boolean; setStack(stack: StackBase): void; onTouched(state: boolean): void; onRelativeChange(val: any): void; onAbsoluteChange(val: any): void; onPressed(state: boolean): void; setPressedState(evt: WidgetEvent): void; setTouchedState(evt: WidgetEvent): void; setProperty(evt: StackEvent, data?: any): void; weight(): number | undefined; setWeight(weight: number): void; name(): string; setName(name: string): void; _setDerivedFromHardware(tcWidget: TCWidget): void; _getDerivedFromHardware(): boolean; _getTCWidget(): TCWidget | undefined; type(): WidgetType; setType(type: WidgetType): void; } export declare enum WidgetTouchedState { TOUCHED = 0, UNTOUCHED = 1 } export declare enum WidgetSelectedState { SELECTED = 0, UNSELECTED = 1 } export declare enum WidgetEventType { TOUCH = "TOUCH", PRESS = "PRESS", CHANGE_RELATIVE = "CHANGE_RELATIVE", CHANGE_ABSOLUTE = "CHANGE_ABSOLUTE", TYPECHANGE = "TYPECHANGE" } export interface WidgetEvent { kind: string; source: string; stack: string; name: string; type: WidgetEventType; val: string | boolean | number; } export declare enum WidgetType { SELECTOR_VERTICAL = "SELECTOR_VERTICAL", SELECTOR_HORIZONTAL = "SELECTOR_HORIZONTAL", SLIDER_VERTICAL = "SLIDER_VERTICAL", SLIDER_HORIZONTAL = "SLIDER_HORIZONTAL", TOGGLE = "TOGGLE", BUTTON = "BUTTON", LEDBUTTON = "LEDBUTTON", ENCODER = "ENCODER", MOTORFADER = "MOTORFADER", TEXTLCDDISPLAY = "TEXTLCDDISPLAY", EMPTY = "EMPTY" } export declare const UIWidgetTypes: WidgetType[]; //# sourceMappingURL=widget.d.ts.map