diff --git a/package.json b/package.json index 5dbc83ad9e..f5f6c85e4c 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "shared.js", "store.js", "store.umd.js", + "store.d.ts", "svelte", "README.md" ], diff --git a/store.d.ts b/store.d.ts new file mode 100644 index 0000000000..95d90c3848 --- /dev/null +++ b/store.d.ts @@ -0,0 +1,19 @@ +interface Options { + immutable: boolean; +} + +interface Cancellable { + cancel: () => void; +} + +type State = Record; + +export declare class Store { + constructor(state: State, options?: Options); + + public compute(key: string, dependencies: string[]): void; + public fire(name: string, data?: any): void; + public get(): State; + public on(name: string, callback: (data: any) => void): Cancellable; + public set(state: State); +}