@basmilius/homey-common 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ import Homey from "homey";
2
+ import type HomeyNS from "homey/lib/Homey";
3
+ import { Registry } from "./registry";
4
+ import type { Language } from "./types";
5
+ export declare class App extends Homey.App {
6
+ #private;
7
+ get registry(): Registry;
8
+ constructor();
9
+ }
10
+ export declare class Shortcuts {
11
+ #private;
12
+ get app(): App;
13
+ get homey(): HomeyNS;
14
+ get registry(): Registry;
15
+ get dashboards(): HomeyNS["dashboards"];
16
+ get flow(): HomeyNS["flow"];
17
+ get settings(): HomeyNS["settings"];
18
+ get language(): Language;
19
+ constructor(app: App);
20
+ notify(message: string): Promise<void>;
21
+ log(...args: any[]): void;
22
+ realtime(event: string, data?: any): void;
23
+ translate(key: string, tags?: Record<string, string | number>): string;
24
+ clearInterval(interval: NodeJS.Timeout): void;
25
+ setInterval(callback: Function, ms: number): NodeJS.Timeout;
26
+ clearTimeout(interval: NodeJS.Timeout): void;
27
+ setTimeout(callback: Function, ms: number): NodeJS.Timeout;
28
+ }
@@ -0,0 +1,2 @@
1
+ export declare const colors: unknown;
2
+ export declare const icons: unknown;
@@ -0,0 +1,5 @@
1
+ import type { Constructor } from "./types";
2
+ export declare function action(id: string): <T extends Constructor>(ActionClass: T) => T;
3
+ export declare function autocomplete(id: string): <T extends Constructor>(AutocompleteClass: T) => T;
4
+ export declare function condition(id: string): <T extends Constructor>(ConditionClass: T) => T;
5
+ export declare function trigger(id: string): <T extends Constructor>(TriggerClass: T) => T;
package/dist/flow.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ import type Homey from "homey";
2
+ import { type App, Shortcuts } from "./app";
3
+ import type { AutocompleteProvider, FlowCardType } from "./types";
4
+ export declare abstract class FlowEntity<
5
+ T extends Homey.FlowCard,
6
+ TArgs = unknown,
7
+ TState = unknown,
8
+ TResult = unknown
9
+ > extends Shortcuts {
10
+ #private;
11
+ get card(): T;
12
+ get id(): string;
13
+ get type(): FlowCardType;
14
+ constructor(app: App);
15
+ onInit(): Promise<void>;
16
+ abstract onRun(args: TArgs, state: TState): Promise<TResult>;
17
+ onUpdate(): Promise<void>;
18
+ registerAutocomplete<T extends FlowAutocompleteProvider>(name: string, autocompleteProvider: AutocompleteProvider<T>): void;
19
+ }
20
+ export declare abstract class FlowActionEntity<
21
+ TArgs = unknown,
22
+ TState = unknown,
23
+ TResult = unknown
24
+ > extends FlowEntity<Homey.FlowCardAction, TArgs, TState, TResult> {}
25
+ export declare abstract class FlowConditionEntity<
26
+ TArgs = unknown,
27
+ TState = unknown
28
+ > extends FlowEntity<Homey.FlowCardCondition, TArgs, TState, boolean> {}
29
+ export declare abstract class FlowTriggerEntity<
30
+ TArgs = unknown,
31
+ TState = unknown
32
+ > extends FlowEntity<Homey.FlowCardTrigger, TArgs, TState, boolean> {
33
+ trigger(state: TState, tokens?: Record<string, unknown>): Promise<any>;
34
+ }
35
+ export declare abstract class FlowAutocompleteProvider extends Shortcuts {
36
+ abstract find(query: string, args: Record<string, unknown>): Promise<Homey.FlowCard.ArgumentAutocompleteResults>;
37
+ update(): Promise<void>;
38
+ onInit(): Promise<void>;
39
+ }
@@ -0,0 +1,6 @@
1
+ export type { ApiRequest, Color, Constructor, FlowCardType, Icon, Language, WidgetApiRequest } from "./types";
2
+ export { App, Shortcuts } from "./app";
3
+ export { action, autocomplete, condition, trigger } from "./decorator";
4
+ export { FlowEntity, FlowActionEntity, FlowAutocompleteProvider, FlowConditionEntity, FlowTriggerEntity } from "./flow";
5
+ export { Registry } from "./registry";
6
+ export { colors, icons } from "./data";