@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
28 lines • 1.31 kB
TypeScript
import { Optional } from '../../../common';
import { BehaviorSubject } from 'rxjs';
import { DeviceModel } from '../devices.model';
import { DeviceOpState, DeviceState } from './device.state';
export declare const ModeStateName: 'mode';
export type ModeStateName = typeof ModeStateName;
export type Modes<SubModes extends Record<string, DeviceState<string, object>>> = {
active: DeviceState<string, object> | undefined;
subModes: SubModes;
};
export type ModeType = {
state?: {
mode?: number;
};
};
export type ModeIdMap = (state: ModeState) => Optional<DeviceState<string, any>>;
export declare const defaultModeIdMap: ModeIdMap;
export declare class ModeState extends DeviceOpState<ModeStateName, Optional<DeviceState<string, unknown>>> {
private readonly identifierMap;
readonly activeIdentifier: BehaviorSubject<Optional<number[]>>;
readonly modes: DeviceState<string, any>[];
protected readonly inline: boolean;
get activeMode(): Optional<DeviceState<string, any>>;
constructor(device: DeviceModel, modes: Optional<DeviceState<string, any>>[], opType?: number, identifier?: number[], inline?: boolean, identifierMap?: ModeIdMap);
parseState(data: ModeType): void;
parseOpCommand(opCommand: number[]): void;
}
//# sourceMappingURL=mode.state.d.ts.map