interface Options { immutable: boolean; } interface Cancellable { cancel: () => void; } interface Tuple extends Array { 0: T; length: L; } type State = Record; export declare class Store { constructor(state: State, options?: Options); public compute( key: string, dependencies: Tuple, fn: (...dependencies: Tuple) => any, ): void; public fire(name: string, data?: any): void; public get(): State; public on(name: string, callback: (data: any) => void): Cancellable; public set(state: State): void; }