@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
47 lines • 2.63 kB
TypeScript
import { CommandBus, EventBus } from '@nestjs/cqrs';
import { Device } from '../../../device';
import { DeviceFactory } from '../../../device.factory';
import { DeviceModel } from '../../../devices.model';
import { IceMakerNuggetSizeState, NuggetSizeStateName } from './ice-maker.nugget-size';
import { BasketFullStateName, IceMakerBasketFull } from './ice-maker.basket-full';
import { IceMakerStatusState, IceMakerStatusStateName } from './ice-maker.status';
import { IceMakerScheduledStart, ScheduledStartStateName } from './ice-maker.scheduled-start';
import { ActiveState, ActiveStateName, ConnectedState, ConnectedStateName, PowerState, PowerStateName, TemperatureState, TemperatureStateName } from '../../../states';
import { IceMakerMakingIceState, MakingIceStateName } from './ice-maker.make-ice';
import { Optional } from '../../../../../common/types';
import { NuggetSize } from './types';
export declare const IceMakerType: 'ice-maker';
export type IceMakerType = typeof IceMakerType;
export declare class IceMakerDevice extends Device<IceMakerStates> implements IceMaker {
static readonly deviceType: IceMakerType;
get deviceType(): string;
get NuggetSize(): typeof NuggetSize;
constructor(device: DeviceModel, eventBus: EventBus, commandBus: CommandBus);
get [BasketFullStateName](): Optional<IceMakerBasketFull>;
get [MakingIceStateName](): Optional<IceMakerMakingIceState>;
get [NuggetSizeStateName](): Optional<IceMakerNuggetSizeState>;
get [ScheduledStartStateName](): Optional<IceMakerScheduledStart>;
get [IceMakerStatusStateName](): Optional<IceMakerStatusState>;
get [PowerStateName](): Optional<PowerState>;
get [ConnectedStateName](): Optional<ConnectedState>;
get [ActiveStateName](): Optional<ActiveState>;
get [TemperatureStateName](): Optional<TemperatureState>;
}
export declare class IceMakerFactory extends DeviceFactory<IceMakerDevice, Omit<IceMaker, 'NuggetSize'>> {
constructor();
}
export type IceMakerStates = {
[BasketFullStateName]: Optional<IceMakerBasketFull>;
[MakingIceStateName]: Optional<IceMakerMakingIceState>;
[NuggetSizeStateName]: Optional<IceMakerNuggetSizeState>;
[ScheduledStartStateName]: Optional<IceMakerScheduledStart>;
[IceMakerStatusStateName]: Optional<IceMakerStatusState>;
[PowerStateName]: Optional<PowerState>;
[ConnectedStateName]: Optional<ConnectedState>;
[ActiveStateName]: Optional<ActiveState>;
[TemperatureStateName]: Optional<TemperatureState>;
};
export type IceMaker = {
NuggetSize: typeof NuggetSize;
} & IceMakerStates;
//# sourceMappingURL=ice-maker.d.ts.map