import { Parameter, ParameterBlueprint, ParameterChangeEvent, ParameterType } from '@makeproaudio/parameters-js'; import { UIWidget, Widget, WidgetEvent, WidgetType } from '../widget/widget'; export interface Stack { name(): string; addWidget(widget: Widget): void; removeWidget(widget: Widget): void; removeWidget(name: string): void; widgets(): Widget[]; label(): string; setLabel(label: string): void; context(): string; setContext(context: string): void; setHsl(hue: number, saturation: number, lightness: number): void; setColor(color: string): void; color(): string; value(): any; setValue(value: any): void; setWidgetsType(type: WidgetType): void; setParameterType(req: ParameterBlueprint): void; bind(param: Parameter, callback: (parameterChangeEvent: ParameterChangeEvent) => void): void; } export interface UIStack { name: string; context: string; label: string; color?: string; widgets: UIWidget[]; min?: number; max?: number; value: string | number | boolean; values?: string[] | number[] | boolean; } export declare class StackBase implements Stack { sync(): void; label(): string; setLabel(label: string): void; context(): string; setContext(context: string): void; color(): string; setHsl(hue: number, saturation: number, lightness: number): void; hslToRgb: (hue: number, saturation: number, lightness: number) => string; setColor(color: string): void; setParameterType(req: ParameterBlueprint): void; bind(param: Parameter, callback: (parameterChangeEvent: ParameterChangeEvent) => void): void; unbind(param: Parameter): void; private _widgets; private _name; private _parameter; constructor(name: string); setValue(val: any): void; value(): any; private raiseUIEvent; onWidgetEvent(evt: WidgetEvent): void; name(): string; addWidget(widget: Widget): void; removeWidget(widget: Widget): void; removeWidget(name: string): void; widgets(): Widget[]; uiL(): (uiParamEvent: ParameterChangeEvent) => void; uiListener: (uiParamEvent: ParameterChangeEvent) => void; setParameter(param: Parameter): void; deduceNewType(type: ParameterType): void; setAbsoluteValue(val: string | number): void; setRelativeValue(val: number): void; unsetParameter(): void; parameter(): Parameter | undefined; setWidgetsType(type: WidgetType): void; } export interface StackEvent { kind: string; source: string; name: string; type: StackEventType; val: number | string | boolean | {}; } export declare enum StackEventType { VALUE = "VALUE", COLOR = "COLOR", CONTEXT = "CONTEXT", LABEL = "LABEL", UNKNOWN = "UNKNOWN", TYPECHANGE = "TYPECHANGE" } export interface StackTypeChangeRequest extends ParameterBlueprint { } //# sourceMappingURL=stack.d.ts.map