import { HNode } from "./HNode"; declare type AssertArray = T extends any[] ? T : never; declare type MapOf = Map>; declare type Setter = (value: T) => void; export interface Store { map: MapOf; bind(hNode: HNode, subscriptions: Array): this; get(key: K): T[K] | undefined; set(key: K, value: T[K], force?: boolean): this; setter(key: K, force?: boolean): Setter; toggle(key: keyof T): this; inc(key: keyof T, addition?: any): this; push(key: K, ...items: AssertArray): this; unshift(key: K, ...items: AssertArray): this; slice(key: keyof T, start: number, end: number): this; splice(key: K, start: number, deleteCount?: number): this; splice(key: K, start: number, deleteCount: number, ...items: AssertArray): this; } export declare const createStore: () => Store; export {};