import { IObservable, IStore } from 'interfaces';
import { Observer, PersistObject, Setter } from '../types';
export declare class Store<T> implements IStore<T> {
    private initialData;
    private observable;
    constructor(initialData: T, observable: IObservable);
    set(data: Setter<T>): void;
    get(): T;
}
export declare const createExternalStore: <T>(subscribe: (onStoreChange: Observer) => () => void, snapshot: () => T, serverSnapshot: () => T) => T;
export declare function create<T>(initial: T | PersistObject<T>): () => {
    state: T;
    setState: (item: Setter<T>) => void;
};
